bug 559854 - Compile target xpidl only if libIDL is configured when cross compiling. r=ted
This commit is contained in:
Родитель
01ef18294a
Коммит
be31858dff
10
configure.in
10
configure.in
|
@ -2193,9 +2193,6 @@ ia64*-hpux*)
|
||||||
XARGS=xargs
|
XARGS=xargs
|
||||||
XPCOM_FROZEN_LDOPTS='$(LIBXUL_DIST)/lib/xpcom.lib $(LIBXUL_DIST)/lib/mozalloc.lib'
|
XPCOM_FROZEN_LDOPTS='$(LIBXUL_DIST)/lib/xpcom.lib $(LIBXUL_DIST)/lib/mozalloc.lib'
|
||||||
ZIP=zip
|
ZIP=zip
|
||||||
LIBIDL_CFLAGS="-I$MOZ_TOOLS_DIR/include ${GLIB_CFLAGS}"
|
|
||||||
LIBIDL_LIBS="$MOZ_TOOLS_DIR/lib/libidl-0.6_s.lib $MOZ_TOOLS_DIR/lib/glib-1.2_s.lib"
|
|
||||||
STATIC_LIBIDL=1
|
|
||||||
MOZ_TREE_FREETYPE=1
|
MOZ_TREE_FREETYPE=1
|
||||||
|
|
||||||
AC_DEFINE(HAVE_SNPRINTF)
|
AC_DEFINE(HAVE_SNPRINTF)
|
||||||
|
@ -7836,6 +7833,13 @@ case "$target_os" in
|
||||||
msvc*|mks*|cygwin*|mingw*|wince*|winmo*)
|
msvc*|mks*|cygwin*|mingw*|wince*|winmo*)
|
||||||
SKIP_IDL_CHECK="yes"
|
SKIP_IDL_CHECK="yes"
|
||||||
;;
|
;;
|
||||||
|
darwin*)
|
||||||
|
if test -n "$CROSS_COMPILE"; then
|
||||||
|
SKIP_IDL_CHECK="yes"
|
||||||
|
else
|
||||||
|
SKIP_IDL_CHECK="no"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
SKIP_IDL_CHECK="no"
|
SKIP_IDL_CHECK="no"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -44,18 +44,12 @@ include $(DEPTH)/config/autoconf.mk
|
||||||
|
|
||||||
MODULE = xpcom
|
MODULE = xpcom
|
||||||
|
|
||||||
ifneq (,$(filter-out WINCE SYMBIAN,$(OS_ARCH)))
|
|
||||||
# Sadly, the code here is too smart for the WinCE/Symbian compiler's brain
|
|
||||||
PROGRAM = xpidl$(BIN_SUFFIX)
|
|
||||||
SDK_BINARY = $(PROGRAM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
INTERNAL_TOOLS = 1
|
INTERNAL_TOOLS = 1
|
||||||
|
|
||||||
# glib and libIDL link against the non-debug msvcrt
|
# glib and libIDL link against the non-debug msvcrt
|
||||||
MOZ_NO_DEBUG_RTL=1
|
MOZ_NO_DEBUG_RTL=1
|
||||||
|
|
||||||
CSRCS = \
|
XPIDL_CSRCS = \
|
||||||
xpidl.c \
|
xpidl.c \
|
||||||
xpidl_idl.c \
|
xpidl_idl.c \
|
||||||
xpidl_util.c \
|
xpidl_util.c \
|
||||||
|
@ -66,11 +60,28 @@ CSRCS = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
ifdef CROSS_COMPILE
|
ifdef CROSS_COMPILE
|
||||||
|
|
||||||
HOST_PROGRAM = host_xpidl$(HOST_BIN_SUFFIX)
|
HOST_PROGRAM = host_xpidl$(HOST_BIN_SUFFIX)
|
||||||
HOST_CSRCS = $(CSRCS)
|
HOST_CSRCS = $(XPIDL_CSRCS)
|
||||||
|
|
||||||
ifdef WINCE
|
ifdef WINCE
|
||||||
HOST_LDFLAGS += -ladvapi32.lib
|
HOST_LDFLAGS += -ladvapi32.lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef LIBIDL_LIBS
|
||||||
|
BUILD_TARGET = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # CROSS_COMPILE
|
||||||
|
|
||||||
|
BUILD_TARGET = 1
|
||||||
|
|
||||||
|
endif # CROSS_COMPILE
|
||||||
|
|
||||||
|
ifdef BUILD_TARGET
|
||||||
|
PROGRAM = xpidl$(BIN_SUFFIX)
|
||||||
|
CSRCS = $(XPIDL_CSRCS)
|
||||||
|
SDK_BINARY = $(PROGRAM)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
USE_STATIC_LIBS = 1
|
USE_STATIC_LIBS = 1
|
||||||
|
@ -82,37 +93,7 @@ ifeq ($(OS_ARCH),Darwin)
|
||||||
# case in order to successfully link. Because the target xpidl isn't
|
# case in order to successfully link. Because the target xpidl isn't
|
||||||
# currently built in a cross compile, though, this point is moot for the
|
# currently built in a cross compile, though, this point is moot for the
|
||||||
# time being.
|
# time being.
|
||||||
|
|
||||||
ifndef CROSS_COMPILE
|
|
||||||
# When doing a native build, don't build xpidl against the SDK. libIDL
|
|
||||||
# was most likely configured for the system headers, and bringing in the
|
|
||||||
# SDK's headers instead will cause problems.
|
|
||||||
_STRIP_SDK = 1
|
_STRIP_SDK = 1
|
||||||
else
|
|
||||||
|
|
||||||
# Cross-compiling
|
|
||||||
|
|
||||||
# Don't build xpidl for the target. This is not intended to be a permanent
|
|
||||||
# solution. It's necessary because it is presently difficult to build
|
|
||||||
# xpidl's prerequisites (libIDL and glib) as fat and suitable for a cross.
|
|
||||||
# This will be fixed. -mm
|
|
||||||
PROGRAM=
|
|
||||||
|
|
||||||
# Since only host_xpidl will be built for now, always strip out the SDK
|
|
||||||
# (as above).
|
|
||||||
_STRIP_SDK=1
|
|
||||||
|
|
||||||
# When fat xpidl prerequisites are available, the PROGRAM= and _STRIP_SDK=1
|
|
||||||
# above are expected to disappear, and be replaced with the following
|
|
||||||
# conditonal.
|
|
||||||
|
|
||||||
# ifeq (86_powerpc,$(findstring 86,$(host_cpu))_$(TARGET_CPU))
|
|
||||||
# # When cross-compiling from x86 to ppc, an old (10.2-ish) SDK might be in
|
|
||||||
# # use, and libIDL will have been configured for new (10.4-ish) headers.
|
|
||||||
# _STRIP_SDK = 1
|
|
||||||
# endif
|
|
||||||
|
|
||||||
endif # CROSS_COMPILE
|
|
||||||
|
|
||||||
ifneq (,$(_STRIP_SDK)$(MACOS_SDK_DIR))
|
ifneq (,$(_STRIP_SDK)$(MACOS_SDK_DIR))
|
||||||
# libIDL is configured for the system's headers, with no SDK involved.
|
# libIDL is configured for the system's headers, with no SDK involved.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче