Added separate import lib for msw .dlls
Removed useless mingw and cygwin options. Fixed library naming for msw _gl and set 'unix' style names for cross builds and 'windows' style for native builds. Added $target to wx-config, and fixed lib/header dir exclusions. Added -mwindows to wx-config output for gui libs. Fixed wx-config to output import lib instead of dll for shared msw builds. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
a0145564d0
commit
77e1340840
@ -415,9 +415,8 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
|
||||
$(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
|
||||
@if test "@WX_LIBRARY_NAME_STATIC@" = "@WX_TARGET_LIBRARY@"; then $(RANLIB) $(libdir)/@WX_TARGET_LIBRARY@; fi
|
||||
@# this installs the import library for a MSW DLL
|
||||
@# remember: for wxMSW DLL WX_LIBRARY_NAME_STATIC is the
|
||||
@# import library name
|
||||
@if test "@TOOLKIT_DIR@" = "msw" -a "@WX_LIBRARY_NAME_STATIC@" != "@WX_TARGET_LIBRARY@"; then $(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_NAME_STATIC@ $(libdir)/@WX_LIBRARY_NAME_STATIC@; fi
|
||||
@if test "x@WX_LIBRARY_IMPORTLIB@" != "x"; then \
|
||||
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_IMPORTLIB@ $(libdir)/@WX_LIBRARY_IMPORTLIB@; fi
|
||||
|
||||
$(INSTALL) -d $(libdir)/wx
|
||||
$(INSTALL) -d $(libdir)/wx/include
|
||||
|
84
configure.in
84
configure.in
@ -404,8 +404,6 @@ USE_OPENBSD=
|
||||
USE_NETBSD=
|
||||
USE_VMS=
|
||||
USE_ULTRIX=
|
||||
USE_CYGWIN=
|
||||
USE_MINGW=
|
||||
USE_DATA_GENERAL=
|
||||
|
||||
dnl on some platforms xxx_r() functions are declared inside "#ifdef
|
||||
@ -416,7 +414,7 @@ NEEDS_D_REENTRANT_FOR_R_FUNCS=0
|
||||
dnl the list of all available toolkits
|
||||
dnl
|
||||
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
|
||||
ALL_TOOLKITS="CYGWIN GTK MAC MGL MINGW MOTIF PM WINE"
|
||||
ALL_TOOLKITS="GTK MAC MGL MOTIF MSW PM WINE"
|
||||
|
||||
dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
|
||||
dnl which are either yes or no
|
||||
@ -992,8 +990,7 @@ AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$wi
|
||||
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(cygwin, [ --with-cygwin use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(mingw, [ --with-mingw use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
|
||||
AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" CACHE_MGL=1 TOOLKIT_GIVEN=1])
|
||||
|
||||
@ -1351,8 +1348,7 @@ if test "$wxUSE_GUI" = "yes"; then
|
||||
dnl we suppose that expr is available (maybe there is a better way to do
|
||||
dnl this? what about using ALL_TOOLKITS? TODO)
|
||||
NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MAC:-0} \
|
||||
+ ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0} \
|
||||
+ ${wxUSE_MGL:-0}`
|
||||
+ ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0}`
|
||||
|
||||
dnl Allow wxUSE_PM only for OS/2 with EMX.
|
||||
dnl Path separator; ':' for unix.
|
||||
@ -1892,25 +1888,18 @@ if test "$USE_WIN32" = 1 ; then
|
||||
dnl --- some of them should probably be included conditionally.
|
||||
LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
|
||||
|
||||
dnl Cygwin doesn't link these by default
|
||||
if test "$wxUSE_CYGWIN" = 1; then
|
||||
LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
|
||||
fi
|
||||
case "${host}" in
|
||||
*-*-cygwin* )
|
||||
dnl Cygwin doesn't include these by default
|
||||
LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
|
||||
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
|
||||
esac
|
||||
|
||||
dnl add extra odbc libs if we have compiled in odbc
|
||||
if test "$wxUSE_ODBC" = "yes" ; then
|
||||
LIBS="$LIBS -lodbc32 -lole32 -loleaut32"
|
||||
fi
|
||||
|
||||
dnl -mwindows is needed to avoid that spawning of a console window
|
||||
dnl This probably doesn't belong here.. The user may actually *want*
|
||||
dnl a console window. People should add this to their own app makefiles
|
||||
dnl instead. Unless someone cries murder about it, expect this to
|
||||
dnl disappear from here soon.
|
||||
if test "$wxUSE_MINGW" = 1; then
|
||||
LDFLAGS="$LDFLAGS -mwindows"
|
||||
fi
|
||||
|
||||
RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
|
||||
RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
|
||||
fi
|
||||
@ -1924,9 +1913,17 @@ if test "$wxUSE_GUI" = "yes"; then
|
||||
WXGTK127=
|
||||
WXGTK20=
|
||||
|
||||
if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
|
||||
if test "$wxUSE_MSW" = 1 ; then
|
||||
TOOLKIT=MSW
|
||||
GUIDIST=MSW_DIST
|
||||
|
||||
dnl -mwindows causes a heap of other default gui libs to be linked in.
|
||||
dnl FIXME: If cygwin needs this, please push it above, if not, please
|
||||
dnl remove this comment :-)
|
||||
case "${host}" in
|
||||
*-*-mingw32* )
|
||||
EXTRA_LIBS="$EXTRA_LIBS -Wl,--subsystem,windows -mwindows"
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "$wxUSE_GTK" = 1; then
|
||||
@ -2333,10 +2330,6 @@ if test -n "$TOOLKIT" ; then
|
||||
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
|
||||
fi
|
||||
|
||||
if test "$wxUSE_CYGWIN" = 1 ; then
|
||||
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
|
||||
fi
|
||||
|
||||
lib_unicode_suffix=
|
||||
if test "$wxUSE_UNICODE" = "yes"; then
|
||||
lib_unicode_suffix=u
|
||||
@ -2345,7 +2338,6 @@ fi
|
||||
lib_debug_suffix=
|
||||
if test "$wxUSE_DEBUG_FLAG" = "yes"; then
|
||||
lib_debug_suffix=d
|
||||
TOOLCHAIN_NAME="${TOOLCHAIN_NAME}d"
|
||||
fi
|
||||
|
||||
TOOLCHAIN_NAME="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
|
||||
@ -2479,11 +2471,28 @@ if test "$wxUSE_SHARED" = "yes"; then
|
||||
;;
|
||||
|
||||
*-*-cygwin* | *-*-mingw32* )
|
||||
WX_LIBRARY="wxmsw${WX_MAJOR_VERSION_NUMBER}${WX_MINOR_VERSION_NUMBER}${WX_RELEASE_NUMBER}${lib_unicode_suffix}${lib_debug_suffix}"
|
||||
WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.dll"
|
||||
WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
|
||||
WXCONFIG_LIBS="-l${WX_LIBRARY}"
|
||||
SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_NAME_STATIC} -o"
|
||||
dnl If we are cross compiling we want to use the 'full' unix type name for the
|
||||
dnl lib, but for a native install use the windows style naming convention.
|
||||
|
||||
if test "$cross_compiling" != "yes"; then
|
||||
WX_LIBRARY="wxmsw${WX_MAJOR_VERSION_NUMBER}${WX_MINOR_VERSION_NUMBER}${WX_RELEASE_NUMBER}${lib_unicode_suffix}${lib_debug_suffix}"
|
||||
WX_LIBRARY_GL=${WX_LIBRARY} "wxmsw${WX_MAJOR_VERSION_NUMBER}${WX_MINOR_VERSION_NUMBER}${WX_RELEASE_NUMBER}${lib_unicode_suffix}${lib_debug_suffix}"
|
||||
WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
|
||||
WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
|
||||
WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
|
||||
WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
|
||||
fi
|
||||
|
||||
WX_LIBRARY_IMPORTLIB="lib${WX_LIBRARY}.lib"
|
||||
|
||||
dnl FIXME: this is a hack.. do we need a --static flag to wx-config?
|
||||
if test "$wxUSE_SHARED" = "yes" ; then
|
||||
WXCONFIG_LIBS="${WX_LIBRARY_IMPORTLIB}"
|
||||
else
|
||||
WXCONFIG_LIBS="-l${WX_LIBRARY}"
|
||||
fi
|
||||
|
||||
SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_IMPORTLIB} -o"
|
||||
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXUSINGDLL=1"
|
||||
WXMSW_DLL_DEFINES="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
|
||||
|
||||
@ -4019,7 +4028,7 @@ if test "$wxUSE_HELP" = "yes"; then
|
||||
AC_DEFINE(wxUSE_HELP)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
|
||||
|
||||
if test "$USE_WIN32" = 1; then
|
||||
if test "$wxUSE_MSW" = 1; then
|
||||
if test "$wxUSE_MS_HTML_HELP" = "yes"; then
|
||||
AC_CHECK_HEADER(htmlhelp.h,
|
||||
[
|
||||
@ -4070,9 +4079,9 @@ dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl check for ole headers and disable a few features requiring it if not
|
||||
dnl present (earlier versions of mingw32 don't have ole2.h)
|
||||
if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
|
||||
-o "$wxUSE_CLIPBOARD" = "yes" \
|
||||
-o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
|
||||
if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
|
||||
-o "$wxUSE_CLIPBOARD" = "yes" \
|
||||
-o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
|
||||
AC_CHECK_HEADERS(ole2.h)
|
||||
|
||||
if test "$ac_cv_header_ole2_h" = "yes" ; then
|
||||
@ -4094,7 +4103,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
|
||||
wxUSE_DATAOBJ=no
|
||||
fi
|
||||
|
||||
dnl this is for MSW only, so we test for it inside "if USE_WIN32"
|
||||
if test "$wxUSE_METAFILE" = "yes"; then
|
||||
AC_DEFINE(wxUSE_METAFILE)
|
||||
|
||||
@ -4586,7 +4594,7 @@ dnl all additional libraries (except wxWindows itself) we link with
|
||||
dnl
|
||||
dnl note that we always link with -lm except for Mac OS X
|
||||
dnl extended.c uses floor() and is always linked in
|
||||
EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
|
||||
EXTRA_LIBS="$EXTRA_LIBS $LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
|
||||
|
||||
if test "$wxUSE_MAC" = 1 ; then
|
||||
EXTRA_LIBS="$EXTRA_LIBS -framework Carbon -framework System"
|
||||
@ -4660,6 +4668,7 @@ AC_SUBST(WX_MINOR_VERSION_NUMBER)
|
||||
AC_SUBST(WX_RELEASE_NUMBER)
|
||||
AC_SUBST(WX_LIBRARY_NAME_STATIC)
|
||||
AC_SUBST(WX_LIBRARY_NAME_SHARED)
|
||||
AC_SUBST(WX_LIBRARY_IMPORTLIB)
|
||||
AC_SUBST(WX_TARGET_LIBRARY)
|
||||
AC_SUBST(WX_LIBRARY_LINK1)
|
||||
AC_SUBST(WX_LIBRARY_LINK2)
|
||||
@ -4699,6 +4708,7 @@ AC_SUBST(TOOLCHAIN_NAME)
|
||||
AC_SUBST(TOOLCHAIN_DEFS)
|
||||
|
||||
dnl wx-config options
|
||||
AC_SUBST(host_alias)
|
||||
AC_SUBST(cross_compiling)
|
||||
AC_SUBST(WXCONFIG_LIBS)
|
||||
AC_SUBST(WXCONFIG_LIBS_GL)
|
||||
|
13
wx-config.in
13
wx-config.in
@ -7,6 +7,7 @@ CC="@CC@"
|
||||
CXX="@CXX@"
|
||||
LD="@SHARED_LD@"
|
||||
cross_compiling=@cross_compiling@
|
||||
target=@host_alias@
|
||||
|
||||
usage()
|
||||
{
|
||||
@ -27,9 +28,10 @@ EOF
|
||||
|
||||
cppflags()
|
||||
{
|
||||
if test "${cross_compiling}" != "yes" \
|
||||
-a @includedir@ != /usr/include \
|
||||
-a @includedir@ != /usr/include/c++ ;
|
||||
if test "@includedir@" != "/usr/include" \
|
||||
-a "@includedir@" != "/usr/include/c++" \
|
||||
-a \( "${cross_compiling}" != "yes" \
|
||||
-o "@includedir@" != "/usr/${target}/include" \) ;
|
||||
then
|
||||
includes=-I@includedir@
|
||||
fi
|
||||
@ -80,8 +82,9 @@ while test $# -gt 0; do
|
||||
echo @LIBWXMACRESWXCONFIG@
|
||||
;;
|
||||
--libs)
|
||||
if test "${cross_compiling}" != "yes" \
|
||||
-a @libdir@ != /usr/lib ;
|
||||
if test "@libdir@" != "/usr/lib" \
|
||||
-a \( "${cross_compiling}" != "yes" \
|
||||
-o "@libdir@" != "/usr/${target}/lib" \) ;
|
||||
then
|
||||
libs="-L@libdir@"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user