Adding support for detecting various platform specific libraries, paths and

other things (anything, really).

Should make building mozilla on diverse platforms such as linux/lesstif
much easier.

Currently Linux is the only platform that supports detection.

The new detection mechanism is very scaleable.  We will be able to add support
for other operating systems as well as more permutations of linux/arch/toolkit.

It has received the Reverend Ostrom blessing of approval.

So the lesstif people can stop bitching.  thank you for the feedback ;-)

Notice how much simpler the Linux chunk of the xfe Makfile has become.
This commit is contained in:
ramiro%netscape.com 1998-07-18 03:34:26 +00:00
Родитель a3d443f599
Коммит bb60abcd71
2 изменённых файлов: 37 добавлений и 54 удалений

Просмотреть файл

@ -515,6 +515,10 @@ ifdef USE_ABCOM
DEFINES += -DUSE_ABCOM DEFINES += -DUSE_ABCOM
endif endif
ifdef MOZILLA_XFE_USE_WINNING_FILE_SELECTION
DEFINES += -DUSE_WINNING_FILE_SELECTION
endif
INCLUDES += -Isrc -I. -I$(DEPTH)/dist/public/nls -I$(DEPTH)/dist/public/security \ INCLUDES += -Isrc -I. -I$(DEPTH)/dist/public/nls -I$(DEPTH)/dist/public/security \
-I$(DEPTH)/lib/libmsg -I$(DEPTH)/dist/public/ldap \ -I$(DEPTH)/lib/libmsg -I$(DEPTH)/dist/public/ldap \
-I$(DEPTH)/modules/libimg/public -I$(DEPTH)/modules/libimg/public
@ -693,72 +697,52 @@ endif
# Linux # Linux
ifeq ($(OS_ARCH),Linux) ifeq ($(OS_ARCH),Linux)
# If the motif.mk file exists, it might define extra flags needed for XFE_MOTIF_LDFLAGS =\
# specific versions of motif. $(MOZILLA_XFE_GLIBC_BROKEN_LOCALE_FLAGS) \
# $(MOZILLA_XFE_MOTIF_STATIC_FLAGS) \
# Currently there is only 2 flags: $(MOZILLA_XFE_MOTIF_PRINT_SHELL_FLAGS)
#
# MOZILLA_XM_2_1_PRINT_SHELL_FLAGS: X Print Shell Extension available
# starting with X11R6.3 and needed by motif 2.1.
#
# MOZILLA_XM_2_1_BROKEN_LOCALE_FLAGS: Needed because of currently
# broken locale support in motif 2.1 when linked with gnu libc2.
#
# Please direct questions about motif and linux to ramiro@netscape.com.
#
-include $(DEPTH)/config/motif.mk
XTOOLLIB = -L/usr/X11R6/lib -lXt -lSM -lICE XFE_X11_LDFLAGS =\
XLIB = -lXext -lX11 $(MOZILLA_XFE_X11_DYNAMIC_PATHS) \
XMULIB = -lXmu -lXpm -lXt \
-lXmu \
$(MOZILLA_XFE_MOTIF_XPM_FLAGS) \
$(MOZILLA_XFE_X11_DYNAMIC_FLAGS) \
-lXext \
$(MOZILLA_XFE_X11_SM_FLAGS)
ifeq ($(OS_RELEASE),2.0) OTHER_LIBS =\
ifeq ($(CPU_ARCH),ppc) $(XFE_MOTIF_LDFLAGS) \
MOTIFLIB = /usr/local/lib/libXm.a $(XFE_X11_LDFLAGS) \
else -lm \
# -ldl
# Ramiro: pls double check this block
# # Dynamic motif binary
MOTIFLIB =\ ifdef MOZILLA_XFE_MOTIF_HAVE_DYNAMIC_LIB
XFE_DYN_MOTIFLIB =\
$(MOTIFPATCH_LIB) \ $(MOTIFPATCH_LIB) \
$(MOZILLA_XM_2_1_BROKEN_LOCALE_FLAGS) \ $(MOZILLA_XFE_GLIBC_BROKEN_LOCALE_FLAGS) \
-L/usr/X11R6/lib -lXm \ $(MOZILLA_XFE_MOTIF_DYNAMIC_PATHS) \
$(MOZILLA_XM_2_1_PRINT_SHELL_FLAGS) $(MOZILLA_XFE_MOTIF_DYNAMIC_FLAGS) \
$(MOZILLA_XFE_MOTIF_PRINT_SHELL_FLAGS)
endif
else
MOTIFLIB = /usr/X11R6/lib/libXm.a
endif
OTHER_LIBS = $(MOTIFLIB) $(XTOOLLIB) $(XMULIB) $(EXTENSIONLIB) $(XLIB) -lm -ldl
#
# This assumes there is a libXm.so on the system. If there isn't, you'll
# get two identical binaries.
#
ifeq ($(OS_RELEASE)$(CPU_ARCH),2.0x86)
DYN_MOTIFLIB =\
$(MOTIFPATCH_LIB) \
$(MOZILLA_XM_2_1_BROKEN_LOCALE_FLAGS) \
-lXm \
$(MOZILLA_XM_2_1_PRINT_SHELL_FLAGS)
EXTRA_EXPORT_OBJS = $(OBJDIR)/$(XFE_PROGNAME)-motif-export EXTRA_EXPORT_OBJS = $(OBJDIR)/$(XFE_PROGNAME)-motif-export
EXTRA_EXPORT_BINARY = $(EXTRA_EXPORT_OBJS) EXTRA_EXPORT_BINARY = $(EXTRA_EXPORT_OBJS)
PLUGIN_DSO += $(DIST)/bin/libnullplugin-dynMotif.so PLUGIN_DSO += $(DIST)/bin/libnullplugin-dynMotif.so
endif
# Web fonts are only available on x86
ifeq ($(OS_RELEASE)$(CPU_ARCH),2.0x86)
ifndef NO_WEBFONTS ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO) EXTRA_REL_FILES += $(WEBFONT_DSO)
endif endif
endif endif
EXPORT_LDFLAGS += -lc
endif endif
######################################## ########################################
@ -1040,14 +1024,15 @@ $(OBJDIR)/$(XFE_PROGNAME)-nis-export: $(OBJS) $(NIS_EXPORT_OBJS) $(NIS_OBJS) $(E
# #
# Build a dynamic Motif version. # Build a dynamic Motif version.
# #
ifeq ($(OS_ARCH)$(OS_RELEASE)$(CPU_ARCH),Linux2.0x86) ifeq ($(OS_ARCH),Linux)
ifdef MOZILLA_XFE_MOTIF_HAVE_DYNAMIC_LIB
$(OBJDIR)/$(XFE_PROGNAME)-motif-export: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS) $(OBJDIR)/$(XFE_PROGNAME)-motif-export: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR) @$(MAKE_OBJDIR)
rm -f $@ rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) -L/usr/X11R6/lib $(DYN_MOTIFLIB) -lXt -lSM -lICE $(XMULIB) $(EXTENSIONLIB) $(XLIB) -lm -ldl $(NSPR_LIB) $(DNS_LIB) -lc $(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) $(XFE_DYN_MOTIFLIB) $(XFE_X11_LDFLAGS) -lm -ldl $(NSPR_LIB) $(DNS_LIB) -lc
@$(EXTRA_POST_LINK_CMD) $@ @$(EXTRA_POST_LINK_CMD) $@
endif endif
endif
#---------------- Misc link targets follow ----------------------# #---------------- Misc link targets follow ----------------------#

Просмотреть файл

@ -1151,8 +1151,6 @@ static XmString fe_file_selection_directory;
* *
* ...djw * ...djw
*/ */
#define USE_WINNING_FILE_SELECTION win
#ifdef USE_WINNING_FILE_SELECTION #ifdef USE_WINNING_FILE_SELECTION
#include <Xm/XmP.h> #include <Xm/XmP.h>