diff --git a/configure.in b/configure.in index f2ebed7d8248..b83e7bff8a29 100644 --- a/configure.in +++ b/configure.in @@ -2193,9 +2193,6 @@ ia64*-hpux*) XARGS=xargs XPCOM_FROZEN_LDOPTS='$(LIBXUL_DIST)/lib/xpcom.lib $(LIBXUL_DIST)/lib/mozalloc.lib' 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 AC_DEFINE(HAVE_SNPRINTF) @@ -7836,6 +7833,13 @@ case "$target_os" in msvc*|mks*|cygwin*|mingw*|wince*|winmo*) 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" ;; diff --git a/xpcom/typelib/xpidl/Makefile.in b/xpcom/typelib/xpidl/Makefile.in index 5b01c65a9004..b584c4e3d19d 100644 --- a/xpcom/typelib/xpidl/Makefile.in +++ b/xpcom/typelib/xpidl/Makefile.in @@ -44,18 +44,12 @@ include $(DEPTH)/config/autoconf.mk 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 # glib and libIDL link against the non-debug msvcrt MOZ_NO_DEBUG_RTL=1 -CSRCS = \ +XPIDL_CSRCS = \ xpidl.c \ xpidl_idl.c \ xpidl_util.c \ @@ -66,11 +60,28 @@ CSRCS = \ $(NULL) ifdef CROSS_COMPILE + HOST_PROGRAM = host_xpidl$(HOST_BIN_SUFFIX) -HOST_CSRCS = $(CSRCS) +HOST_CSRCS = $(XPIDL_CSRCS) + ifdef WINCE HOST_LDFLAGS += -ladvapi32.lib 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 USE_STATIC_LIBS = 1 @@ -82,37 +93,7 @@ ifeq ($(OS_ARCH),Darwin) # 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 # 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 -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)) # libIDL is configured for the system's headers, with no SDK involved.