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
LIBPTHREAD
XLIB
XFILES
OPENGLFILES
GLU32FILES
OPENGL_LIBS
QUARTZFILES
DLLEXT
DLLFLAGS
LDSHARED
@ -6851,16 +6847,8 @@ fi
XLIB=""
XFILES=""
OPENGLFILES=""
GLU32FILES=""
OPENGL_LIBS=""
QUARTZFILES=""
{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
@ -8625,7 +8613,7 @@ fi
then
CARBONLIB="-framework Carbon"
QUARTZFILES='$(QUARTZFILES)'
enable_winequartz_drv=${enable_winequartz_drv:-yes}
fi
;;
*)
@ -9562,6 +9550,8 @@ test -n "$MINGWAR" || MINGWAR="false"
;;
esac
enable_winequartz_drv=${enable_winequartz_drv:-no}
if test "$LIBEXT" = "a"; then
{ { 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
@ -11256,7 +11246,6 @@ cat >>confdefs.h <<_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"
OPENGLFILES='$(OPENGLFILES)'
cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENGL 1
@ -11273,7 +11262,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
OPENGL_LIBS="-lGL"
OPENGLFILES='$(OPENGLFILES)'
cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENGL 1
@ -11358,7 +11346,7 @@ cat >>confdefs.h <<_ACEOF
#define SONAME_LIBGLU "$ac_cv_lib_soname_GLU"
_ACEOF
GLU32FILES='$(GLU32FILES)'
fi
fi
@ -11397,6 +11385,9 @@ esac
fi
test -n "$opengl_msg" && enable_opengl32=${enable_opengl32:-no}
test "x$ac_cv_lib_soname_GLU" = "x" && enable_glu32=${enable_glu32:-no}
NASLIBS=""
@ -11740,11 +11731,13 @@ done
CPPFLAGS="$ac_save_CPPFLAGS"
XFILES='$(XFILES)'
else
XLIB=""
X_CFLAGS=""
X_LIBS=""
enable_winex11_drv=${enable_winex11_drv:-no}
enable_opengl32=${enable_opengl32:-no}
enable_glu32=${enable_glu32:-no}
fi
if test "x$XLIB" = "x"; then
case "x$with_x" in
@ -26751,11 +26744,7 @@ ICOTOOL!$ICOTOOL$ac_delim
PRELINK!$PRELINK$ac_delim
LIBPTHREAD!$LIBPTHREAD$ac_delim
XLIB!$XLIB$ac_delim
XFILES!$XFILES$ac_delim
OPENGLFILES!$OPENGLFILES$ac_delim
GLU32FILES!$GLU32FILES$ac_delim
OPENGL_LIBS!$OPENGL_LIBS$ac_delim
QUARTZFILES!$QUARTZFILES$ac_delim
DLLEXT!$DLLEXT$ac_delim
DLLFLAGS!$DLLFLAGS$ac_delim
LDSHARED!$LDSHARED$ac_delim
@ -26824,7 +26813,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_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
elif $ac_last_try; then
{ { 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_SUBST(XLIB,"")
AC_SUBST(XFILES,"")
AC_SUBST(OPENGLFILES,"")
AC_SUBST(GLU32FILES,"")
AC_SUBST(OPENGL_LIBS,"")
AC_SUBST(QUARTZFILES,"")
dnl **** Check for header files ****
@ -513,7 +509,7 @@ case $host_os in
if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
then
AC_SUBST(CARBONLIB,"-framework Carbon")
QUARTZFILES='$(QUARTZFILES)'
enable_winequartz_drv=${enable_winequartz_drv:-yes}
fi
;;
*)
@ -596,6 +592,8 @@ case $host_os in
;;
esac
enable_winequartz_drv=${enable_winequartz_drv:-no}
if test "$LIBEXT" = "a"; then
AC_MSG_ERROR(
[could not find a way to build shared libraries.
@ -758,11 +756,9 @@ then
dnl Check for the presence of the library
WINE_CHECK_SONAME(GL,glXCreateContext,
[OPENGL_LIBS="-lGL"
OPENGLFILES='$(OPENGLFILES)'
AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
[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"
OPENGLFILES='$(OPENGLFILES)'
AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
[if test -f /usr/X11R6/lib/libGL.a
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)
if test "$ac_cv_header_GL_glu_h" = "yes"
then
WINE_CHECK_SONAME(GLU,gluLookAt,[GLU32FILES='$(GLU32FILES)'],,
[$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS])
WINE_CHECK_SONAME(GLU,gluLookAt,,,[$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS])
fi
WINE_NOTICE_WITH(glu,[test "x$ac_cv_lib_soname_GLU" = "x"],
[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
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 ****
AC_SUBST(NASLIBS,"")
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])])
CPPFLAGS="$ac_save_CPPFLAGS"
XFILES='$(XFILES)'
else
XLIB=""
X_CFLAGS=""
X_LIBS=""
enable_winex11_drv=${enable_winex11_drv:-no}
enable_opengl32=${enable_opengl32:-no}
enable_glu32=${enable_glu32:-no}
fi
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

View File

@ -7,286 +7,13 @@ VPATH = @srcdir@
INSTALLDIRS = $(DESTDIR)$(dlldir)
DLLSUBDIRS = @ALL_DLL_DIRS@
IMPLIBSUBDIRS = @ALL_IMPLIB_DIRS@
TESTSUBDIRS = @ALL_TEST_DIRS@
SUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS)
# special configure-dependent targets
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)
DLLSUBDIRS = @ALL_DLL_DIRS@
IMPLIBSUBDIRS = @ALL_IMPLIB_DIRS@
TESTSUBDIRS = @ALL_TEST_DIRS@
SUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS)
BUILDSUBDIRS = $(DLLSUBDIRS) $(TESTSUBDIRS)
INSTALLSUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS)
DOCSUBDIRS = $(DLLSUBDIRS)
# 16-bit dlls

View File

@ -56,15 +56,6 @@ my %dont_install =
"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
my @ignores = (
"*.[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
my @targets16 = ();
@ -418,7 +379,7 @@ sub update_dlls(@)
push @targets16, $i . "16";
}
}
$text .= "\n# 16-bit dlls\n\n";
$text .= "# 16-bit dlls\n\n";
$text .= "WIN16_FILES = \\\n";
$text .= "\t" . join( " \\\n\t", sort @targets16 ) . "\n\n";
$text .= "\@MAKE_RULES\@\n\n";
@ -526,7 +487,7 @@ sub update_dlls(@)
$text .= "\n# Misc rules\n";
replace_in_file( "dlls/Makefile.in",
'^# special configure-dependent targets',
'^# 16-bit dlls',
'^# Misc rules',
$text );