Bug 242870 - (optionally) statically link libIDL/glib with xpidl on Windows instead of having to use compiler-specific DLLs r=cls
git-svn-id: svn://10.0.0.236/trunk@188098 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
d2d0ad89c2
commit
72e2677a8b
@ -492,6 +492,7 @@ GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@
|
||||
LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
|
||||
LIBIDL_LIBS = @LIBIDL_LIBS@
|
||||
STATIC_LIBIDL = @STATIC_LIBIDL@
|
||||
|
||||
MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@
|
||||
|
||||
|
||||
@ -575,17 +575,12 @@ ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
|
||||
#//
|
||||
#//------------------------------------------------------------------------
|
||||
ifdef USE_STATIC_LIBS
|
||||
ifeq (,$(filter-out 1200 1300 1310,$(_MSC_VER)))
|
||||
RTL_FLAGS=-ML # Statically linked non-multithreaded LIBC RTL
|
||||
ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
|
||||
RTL_FLAGS=-MLd # Statically linked non-multithreaded LIBC debug RTL
|
||||
endif # MOZ_DEBUG || NS_TRACE_MALLOC
|
||||
else
|
||||
RTL_FLAGS=-MT # Statically linked multithreaded RTL
|
||||
ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
|
||||
ifndef MOZ_NO_DEBUG_RTL
|
||||
RTL_FLAGS=-MTd # Statically linked multithreaded MSVC4.0 debug RTL
|
||||
endif
|
||||
endif # MOZ_DEBUG || NS_TRACE_MALLOC
|
||||
endif # _MSC_VER
|
||||
|
||||
else # !USE_STATIC_LIBS
|
||||
|
||||
|
||||
@ -1753,7 +1753,13 @@ case "$target" in
|
||||
AC_MSG_ERROR([Cannot find $_GLIB_PREFIX_DIR/include/glib.h .])
|
||||
fi
|
||||
GLIB_CFLAGS="-I${_GLIB_PREFIX_DIR}/include"
|
||||
GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
|
||||
if test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"; then
|
||||
GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"
|
||||
elif test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"; then
|
||||
GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
|
||||
else
|
||||
AC_MSG_ERROR([Cannot find $_GLIB_PREFIX_DIR/lib/glib-1.2.lib or $_GLIB_PREFIX_DIR/lib/glib-1.2_s.lib])
|
||||
fi
|
||||
|
||||
if test -n "$LIBIDL_PREFIX"; then
|
||||
_LIBIDL_PREFIX_DIR=`cd $LIBIDL_PREFIX && pwd`
|
||||
@ -1772,17 +1778,40 @@ case "$target" in
|
||||
AC_MSG_ERROR([Cannot find $_LIBIDL_PREFIX_DIR/include/libIDL/IDL.h .])
|
||||
fi
|
||||
LIBIDL_CFLAGS="-I${_LIBIDL_PREFIX_DIR}/include ${GLIB_CFLAGS}"
|
||||
LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib ${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
|
||||
if test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"; then
|
||||
LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"
|
||||
STATIC_LIBIDL=1
|
||||
elif test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"; then
|
||||
LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"
|
||||
else
|
||||
AC_MSG_ERROR([Cannot find $_LIBIDL_PREFIX_DIR/lib/libidl-0.6.lib or $_LIBIDL_PREFIX_DIR/lib/libidl-0.6_s.lib])
|
||||
fi
|
||||
LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
|
||||
;;
|
||||
|
||||
*) # else cross-compiling
|
||||
if test -n "$GLIB_PREFIX"; then
|
||||
GLIB_CFLAGS="-I${GLIB_PREFIX}/include"
|
||||
GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
|
||||
if test -f "${GLIB_PREFIX}/lib/glib-1.2_s.lib"; then
|
||||
GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2_s.lib"
|
||||
elif test -f "${GLIB_PREFIX}/lib/glib-1.2.lib"; then
|
||||
GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
|
||||
else
|
||||
AC_MSG_ERROR([Cannot find $GLIB_PREFIX/lib/glib-1.2.lib or $GLIB_PREFIX/lib/glib-1.2_s.lib])
|
||||
fi
|
||||
fi
|
||||
if test -n "$LIBIDL_PREFIX"; then
|
||||
LIBIDL_CFLAGS="-I${LIBIDL_PREFIX}/include ${GLIB_CFLAGS}"
|
||||
LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6.lib ${GLIB_LIBS}"
|
||||
if test -f "${LIBIDL_PREFIX}/lib/libidl-0.6_s.lib"; then
|
||||
LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libidl-0.6_s.lib"
|
||||
STATIC_LIBIDL=1
|
||||
elif test -f "${LIBIDL_PREFIX}/lib/libidl-0.6.lib"; then
|
||||
LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libidl-0.6.lib"
|
||||
else
|
||||
AC_MSG_ERROR([Cannot find $LIBIDL_PREFIX/lib/libidl-0.6.lib or $LIBIDL_PREFIX/lib/libidl-0.6_s.lib])
|
||||
fi
|
||||
fi
|
||||
LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -6542,6 +6571,7 @@ fi
|
||||
|
||||
AC_SUBST(LIBIDL_CFLAGS)
|
||||
AC_SUBST(LIBIDL_LIBS)
|
||||
AC_SUBST(STATIC_LIBIDL)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
AC_SUBST(GLIB_GMODULE_LIBS)
|
||||
|
||||
@ -70,6 +70,10 @@ HOST_PROGRAM = host_xpidl$(HOST_BIN_SUFFIX)
|
||||
HOST_CSRCS = $(CSRCS)
|
||||
endif
|
||||
|
||||
ifdef STATIC_LIBIDL
|
||||
USE_STATIC_LIBS = 1
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
CFLAGS += $(LIBIDL_CFLAGS)
|
||||
@ -79,7 +83,16 @@ CFLAGS += $(LIBIDL_CFLAGS)
|
||||
ifneq (,$(filter WINNT WINCE OS2,$(OS_ARCH)))
|
||||
DEFINES += -DEXPORT_XPT_API
|
||||
ifndef GNU_CC
|
||||
LDFLAGS += -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRTD
|
||||
LDFLAGS += \
|
||||
-SUBSYSTEM:CONSOLE \
|
||||
-NODEFAULTLIB:MSVCRTD \
|
||||
-NODEFAULTLIB:LIBC \
|
||||
$(NULL)
|
||||
|
||||
ifdef STATIC_LIBIDL
|
||||
LDFLAGS += -NODEFAULTLIB:MSVCRT
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@ -662,6 +662,7 @@ free_gslist_data(gpointer data, gpointer user_data)
|
||||
#include <unistd.h>
|
||||
#elif XP_WIN
|
||||
/* We get it from stdio.h. */
|
||||
#define unlink _unlink
|
||||
#endif
|
||||
|
||||
int
|
||||
|
||||
@ -41,6 +41,10 @@
|
||||
|
||||
#include "xpidl.h"
|
||||
|
||||
#ifdef XP_WIN
|
||||
#define strdup _strdup
|
||||
#endif
|
||||
|
||||
/* XXXbe static */ char OOM[] = "ERROR: out of memory\n";
|
||||
|
||||
void *
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user