configure: Use the generic directory enabling mechanism to turn off dlls that depend on external libraries.

This commit is contained in:
Alexandre Julliard 2008-08-25 12:12:28 +02:00
parent 485cc59c14
commit dbb535e4e9
4 changed files with 30 additions and 353 deletions

33
configure vendored
View File

@ -713,11 +713,7 @@ ICOTOOL
PRELINK PRELINK
LIBPTHREAD LIBPTHREAD
XLIB XLIB
XFILES
OPENGLFILES
GLU32FILES
OPENGL_LIBS OPENGL_LIBS
QUARTZFILES
DLLEXT DLLEXT
DLLFLAGS DLLFLAGS
LDSHARED LDSHARED
@ -6851,16 +6847,8 @@ fi
XLIB="" XLIB=""
XFILES=""
OPENGLFILES=""
GLU32FILES=""
OPENGL_LIBS="" OPENGL_LIBS=""
QUARTZFILES=""
{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 { echo "$as_me:$LINENO: checking for ANSI C header files" >&5
@ -8625,7 +8613,7 @@ fi
then then
CARBONLIB="-framework Carbon" CARBONLIB="-framework Carbon"
QUARTZFILES='$(QUARTZFILES)' enable_winequartz_drv=${enable_winequartz_drv:-yes}
fi fi
;; ;;
*) *)
@ -9562,6 +9550,8 @@ test -n "$MINGWAR" || MINGWAR="false"
;; ;;
esac esac
enable_winequartz_drv=${enable_winequartz_drv:-no}
if test "$LIBEXT" = "a"; then if test "$LIBEXT" = "a"; then
{ { echo "$as_me:$LINENO: error: could not find a way to build shared libraries. { { echo "$as_me:$LINENO: error: could not find a way to build shared libraries.
It is currently not possible to build Wine without shared library It is currently not possible to build Wine without shared library
@ -11256,7 +11246,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF _ACEOF
OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL" OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL"
OPENGLFILES='$(OPENGLFILES)'
cat >>confdefs.h <<\_ACEOF cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENGL 1 #define HAVE_OPENGL 1
@ -11273,7 +11262,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF _ACEOF
OPENGL_LIBS="-lGL" OPENGL_LIBS="-lGL"
OPENGLFILES='$(OPENGLFILES)'
cat >>confdefs.h <<\_ACEOF cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENGL 1 #define HAVE_OPENGL 1
@ -11358,7 +11346,7 @@ cat >>confdefs.h <<_ACEOF
#define SONAME_LIBGLU "$ac_cv_lib_soname_GLU" #define SONAME_LIBGLU "$ac_cv_lib_soname_GLU"
_ACEOF _ACEOF
GLU32FILES='$(GLU32FILES)'
fi fi
fi fi
@ -11397,6 +11385,9 @@ esac
fi fi
test -n "$opengl_msg" && enable_opengl32=${enable_opengl32:-no}
test "x$ac_cv_lib_soname_GLU" = "x" && enable_glu32=${enable_glu32:-no}
NASLIBS="" NASLIBS=""
@ -11740,11 +11731,13 @@ done
CPPFLAGS="$ac_save_CPPFLAGS" CPPFLAGS="$ac_save_CPPFLAGS"
XFILES='$(XFILES)'
else else
XLIB="" XLIB=""
X_CFLAGS="" X_CFLAGS=""
X_LIBS="" X_LIBS=""
enable_winex11_drv=${enable_winex11_drv:-no}
enable_opengl32=${enable_opengl32:-no}
enable_glu32=${enable_glu32:-no}
fi fi
if test "x$XLIB" = "x"; then if test "x$XLIB" = "x"; then
case "x$with_x" in case "x$with_x" in
@ -26751,11 +26744,7 @@ ICOTOOL!$ICOTOOL$ac_delim
PRELINK!$PRELINK$ac_delim PRELINK!$PRELINK$ac_delim
LIBPTHREAD!$LIBPTHREAD$ac_delim LIBPTHREAD!$LIBPTHREAD$ac_delim
XLIB!$XLIB$ac_delim XLIB!$XLIB$ac_delim
XFILES!$XFILES$ac_delim
OPENGLFILES!$OPENGLFILES$ac_delim
GLU32FILES!$GLU32FILES$ac_delim
OPENGL_LIBS!$OPENGL_LIBS$ac_delim OPENGL_LIBS!$OPENGL_LIBS$ac_delim
QUARTZFILES!$QUARTZFILES$ac_delim
DLLEXT!$DLLEXT$ac_delim DLLEXT!$DLLEXT$ac_delim
DLLFLAGS!$DLLFLAGS$ac_delim DLLFLAGS!$DLLFLAGS$ac_delim
LDSHARED!$LDSHARED$ac_delim LDSHARED!$LDSHARED$ac_delim
@ -26824,7 +26813,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF _ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 87; then if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; then
break break
elif $ac_last_try; then elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View File

@ -218,11 +218,7 @@ dnl Check for -lpthread
AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread")) AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
AC_SUBST(XLIB,"") AC_SUBST(XLIB,"")
AC_SUBST(XFILES,"")
AC_SUBST(OPENGLFILES,"")
AC_SUBST(GLU32FILES,"")
AC_SUBST(OPENGL_LIBS,"") AC_SUBST(OPENGL_LIBS,"")
AC_SUBST(QUARTZFILES,"")
dnl **** Check for header files **** dnl **** Check for header files ****
@ -513,7 +509,7 @@ case $host_os in
if test "$ac_cv_header_Carbon_Carbon_h" = "yes" if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
then then
AC_SUBST(CARBONLIB,"-framework Carbon") AC_SUBST(CARBONLIB,"-framework Carbon")
QUARTZFILES='$(QUARTZFILES)' enable_winequartz_drv=${enable_winequartz_drv:-yes}
fi fi
;; ;;
*) *)
@ -596,6 +592,8 @@ case $host_os in
;; ;;
esac esac
enable_winequartz_drv=${enable_winequartz_drv:-no}
if test "$LIBEXT" = "a"; then if test "$LIBEXT" = "a"; then
AC_MSG_ERROR( AC_MSG_ERROR(
[could not find a way to build shared libraries. [could not find a way to build shared libraries.
@ -758,11 +756,9 @@ then
dnl Check for the presence of the library dnl Check for the presence of the library
WINE_CHECK_SONAME(GL,glXCreateContext, WINE_CHECK_SONAME(GL,glXCreateContext,
[OPENGL_LIBS="-lGL" [OPENGL_LIBS="-lGL"
OPENGLFILES='$(OPENGLFILES)'
AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])], AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
[WINE_CHECK_SONAME(GL,glXCreateContext, [WINE_CHECK_SONAME(GL,glXCreateContext,
[OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL" [OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL"
OPENGLFILES='$(OPENGLFILES)'
AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])], AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
[if test -f /usr/X11R6/lib/libGL.a [if test -f /usr/X11R6/lib/libGL.a
then then
@ -775,8 +771,7 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS) $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
if test "$ac_cv_header_GL_glu_h" = "yes" if test "$ac_cv_header_GL_glu_h" = "yes"
then then
WINE_CHECK_SONAME(GLU,gluLookAt,[GLU32FILES='$(GLU32FILES)'],, WINE_CHECK_SONAME(GLU,gluLookAt,,,[$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS])
[$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS])
fi fi
WINE_NOTICE_WITH(glu,[test "x$ac_cv_lib_soname_GLU" = "x"], WINE_NOTICE_WITH(glu,[test "x$ac_cv_lib_soname_GLU" = "x"],
[libGLU development files not found, GLU won't be supported.]) [libGLU development files not found, GLU won't be supported.])
@ -790,6 +785,9 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg
OpenGL and Direct3D won't be supported.]) OpenGL and Direct3D won't be supported.])
test -n "$opengl_msg" && enable_opengl32=${enable_opengl32:-no}
test "x$ac_cv_lib_soname_GLU" = "x" && enable_glu32=${enable_glu32:-no}
dnl **** Check for NAS **** dnl **** Check for NAS ****
AC_SUBST(NASLIBS,"") AC_SUBST(NASLIBS,"")
AC_CHECK_HEADERS(audio/audiolib.h, AC_CHECK_HEADERS(audio/audiolib.h,
@ -804,11 +802,13 @@ OpenGL and Direct3D won't be supported.])
[-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])]) [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
CPPFLAGS="$ac_save_CPPFLAGS" CPPFLAGS="$ac_save_CPPFLAGS"
XFILES='$(XFILES)'
else else
XLIB="" XLIB=""
X_CFLAGS="" X_CFLAGS=""
X_LIBS="" X_LIBS=""
enable_winex11_drv=${enable_winex11_drv:-no}
enable_opengl32=${enable_opengl32:-no}
enable_glu32=${enable_glu32:-no}
fi fi
WINE_ERROR_WITH(x,[test "x$XLIB" = "x"],[X development files not found. Wine will be built WINE_ERROR_WITH(x,[test "x$XLIB" = "x"],[X development files not found. Wine will be built
without X support, which probably isn't what you want. You will need to install without X support, which probably isn't what you want. You will need to install

View File

@ -11,282 +11,9 @@ DLLSUBDIRS = @ALL_DLL_DIRS@
IMPLIBSUBDIRS = @ALL_IMPLIB_DIRS@ IMPLIBSUBDIRS = @ALL_IMPLIB_DIRS@
TESTSUBDIRS = @ALL_TEST_DIRS@ TESTSUBDIRS = @ALL_TEST_DIRS@
SUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS) SUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS)
BUILDSUBDIRS = $(DLLSUBDIRS) $(TESTSUBDIRS)
# special configure-dependent targets INSTALLSUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS)
DOCSUBDIRS = $(DLLSUBDIRS)
GLU32FILES = glu32
OPENGLFILES = opengl32
QUARTZFILES = winequartz.drv
XFILES = winex11.drv
EXTRADIRS = @GLU32FILES@ @OPENGLFILES@ @QUARTZFILES@ @XFILES@
# Subdir list
BASEDIRS = \
acledit \
activeds \
actxprxy \
advapi32 \
advpack \
amstream \
appwiz.cpl \
atl \
avicap32 \
avifil32 \
browseui \
cabinet \
capi2032 \
cards \
cfgmgr32 \
clusapi \
comcat \
comctl32 \
comdlg32 \
compstui \
credui \
crtdll \
crypt32 \
cryptdlg \
cryptdll \
cryptnet \
cryptui \
ctapi32 \
ctl3d32 \
d3d10 \
d3d8 \
d3d9 \
d3dim \
d3drm \
d3dx8 \
d3dx9_24 \
d3dx9_25 \
d3dx9_26 \
d3dx9_27 \
d3dx9_28 \
d3dx9_29 \
d3dx9_30 \
d3dx9_31 \
d3dx9_32 \
d3dx9_33 \
d3dx9_34 \
d3dx9_35 \
d3dx9_36 \
d3dx9_37 \
d3dxof \
dbghelp \
dciman32 \
ddraw \
ddrawex \
devenum \
dinput \
dinput8 \
dmband \
dmcompos \
dmime \
dmloader \
dmscript \
dmstyle \
dmsynth \
dmusic \
dmusic32 \
dnsapi \
dplay \
dplayx \
dpnaddr \
dpnet \
dpnhpast \
dpnlobby \
dpwsockx \
dsound \
dssenh \
dswave \
dwmapi \
dxdiagn \
faultrep \
fusion \
gdi32 \
gdiplus \
gphoto2.ds \
gpkcsp \
hal \
hhctrl.ocx \
hid \
hlink \
hnetcfg \
iccvid \
icmp \
ifsmgr.vxd \
imaadp32.acm \
imagehlp \
imm32 \
inetcomm \
inetmib1 \
infosoft \
initpki \
inkobj \
inseng \
iphlpapi \
itircl \
itss \
jscript \
kernel32 \
localspl \
localui \
lz32 \
mapi32 \
mciavi32 \
mcicda \
mciseq \
mciwave \
midimap \
mlang \
mmdevldr.vxd \
monodebg.vxd \
mountmgr.sys \
mpr \
mprapi \
msacm32 \
msacm32.drv \
msadp32.acm \
mscat32 \
mscms \
mscoree \
msdmo \
msftedit \
msg711.acm \
mshtml \
mshtml.tlb \
msi \
msimg32 \
msimtf \
msisip \
msisys.ocx \
msnet32 \
msrle32 \
mssip32 \
mstask \
msvcirt \
msvcr71 \
msvcrt \
msvcrt20 \
msvcrt40 \
msvcrtd \
msvfw32 \
msvidc32 \
mswsock \
msxml3 \
nddeapi \
netapi32 \
newdev \
ntdll \
ntdsapi \
ntoskrnl.exe \
ntprint \
objsel \
odbc32 \
odbccp32 \
ole32 \
oleacc \
oleaut32 \
olecli32 \
oledlg \
olepro32 \
olesvr32 \
olethk32 \
pdh \
powrprof \
printui \
propsys \
psapi \
pstorec \
qcap \
qedit \
qmgr \
qmgrprxy \
quartz \
query \
rasapi32 \
resutils \
riched20 \
riched32 \
rpcrt4 \
rsabase \
rsaenh \
sane.ds \
sccbase \
schannel \
secur32 \
security \
sensapi \
serialui \
setupapi \
sfc \
sfc_os \
shdoclc \
shdocvw \
shell32 \
shfolder \
shlwapi \
slbcsp \
slc \
snmpapi \
softpub \
spoolss \
stdole2.tlb \
stdole32.tlb \
sti \
svrapi \
sxs \
tapi32 \
twain_32 \
unicows \
url \
urlmon \
user32 \
userenv \
usp10 \
uxtheme \
vdhcp.vxd \
vdmdbg \
version \
vmm.vxd \
vnbt.vxd \
vnetbios.vxd \
vtdapi.vxd \
vwin32.vxd \
w32skrnl \
winealsa.drv \
wineaudioio.drv \
winecoreaudio.drv \
wined3d \
winedos \
wineesd.drv \
winejack.drv \
winejoystick.drv \
winemp3.acm \
winenas.drv \
wineoss.drv \
wineps.drv \
wing32 \
winhttp \
wininet \
winmm \
winnls32 \
winscard \
winspool.drv \
wintab32 \
wintrust \
wldap32 \
wmi \
wnaspi32 \
wow32 \
ws2_32 \
wsock32 \
wtsapi32
BUILDSUBDIRS = $(BASEDIRS) $(EXTRADIRS) $(TESTSUBDIRS)
INSTALLSUBDIRS = $(BASEDIRS) $(EXTRADIRS) $(IMPLIBSUBDIRS)
DOCSUBDIRS = $(BASEDIRS) $(EXTRADIRS)
# 16-bit dlls # 16-bit dlls

View File

@ -56,15 +56,6 @@ my %dont_install =
"winetest" => 1, "winetest" => 1,
); );
# Special dlls that can be switched on or off by configure
my %special_dlls =
(
"glu32" => "GLU32FILES",
"opengl32" => "OPENGLFILES",
"winex11.drv" => "XFILES",
"winequartz.drv" => "QUARTZFILES"
);
# Default patterns for top-level .gitignore # Default patterns for top-level .gitignore
my @ignores = ( my @ignores = (
"*.[oa]", "*.[oa]",
@ -377,36 +368,6 @@ sub update_dlls(@)
} }
} }
# output special dlls configure definitions
$text .= "# special configure-dependent targets\n\n";
my %specials = ();
foreach my $mod (sort keys %special_dlls)
{
$specials{$special_dlls{$mod}} .= " " . $mod;
}
foreach my $i (sort keys %specials)
{
$text .= $i . " =" . $specials{$i} . "\n";
}
$text .= "EXTRADIRS =";
foreach my $i (sort keys %specials) { $text .= sprintf " \@%s\@", $i; }
$text .= "\n\n";
# output the subdirs list
$text .= "# Subdir list\n\n";
$text .= "BASEDIRS =";
foreach my $dir (sort values %directories)
{
next if defined($special_dlls{$dir}); # skip special dlls
$text .= " \\\n\t" . $dir;
}
$text .= "\n\nBUILDSUBDIRS = \$(BASEDIRS) \$(EXTRADIRS) \$(TESTSUBDIRS)\n";
$text .= "INSTALLSUBDIRS = \$(BASEDIRS) \$(EXTRADIRS) \$(IMPLIBSUBDIRS)\n";
$text .= "DOCSUBDIRS = \$(BASEDIRS) \$(EXTRADIRS)\n";
# output the list of 16-bit files # output the list of 16-bit files
my @targets16 = (); my @targets16 = ();
@ -418,7 +379,7 @@ sub update_dlls(@)
push @targets16, $i . "16"; push @targets16, $i . "16";
} }
} }
$text .= "\n# 16-bit dlls\n\n"; $text .= "# 16-bit dlls\n\n";
$text .= "WIN16_FILES = \\\n"; $text .= "WIN16_FILES = \\\n";
$text .= "\t" . join( " \\\n\t", sort @targets16 ) . "\n\n"; $text .= "\t" . join( " \\\n\t", sort @targets16 ) . "\n\n";
$text .= "\@MAKE_RULES\@\n\n"; $text .= "\@MAKE_RULES\@\n\n";
@ -526,7 +487,7 @@ sub update_dlls(@)
$text .= "\n# Misc rules\n"; $text .= "\n# Misc rules\n";
replace_in_file( "dlls/Makefile.in", replace_in_file( "dlls/Makefile.in",
'^# special configure-dependent targets', '^# 16-bit dlls',
'^# Misc rules', '^# Misc rules',
$text ); $text );