зеркало из https://github.com/mozilla/gecko-dev.git
220 строки
5.6 KiB
Makefile
220 строки
5.6 KiB
Makefile
# -*- Mode: Makefile -*-
|
|
#
|
|
# The contents of this file are subject to the Netscape Public License
|
|
# Version 1.0 (the "NPL"); you may not use this file except in
|
|
# compliance with the NPL. You may obtain a copy of the NPL at
|
|
# http://www.mozilla.org/NPL/
|
|
#
|
|
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
# for the specific language governing rights and limitations under the
|
|
# NPL.
|
|
#
|
|
# The Initial Developer of this code under the NPL is Netscape
|
|
# Communications Corporation. Portions created by Netscape are
|
|
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
# Reserved.
|
|
#
|
|
|
|
DEPTH = ../..
|
|
topsrcdir = @top_srcdir@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
# A uniq identifier that describes this host
|
|
ifdef MOZILLA_CONFIG_HOST_IDENT
|
|
DETECT_UNIQ_IDENT = $(MOZILLA_CONFIG_HOST_IDENT)
|
|
else
|
|
DETECT_UNIQ_IDENT = $(shell $(DETECT_DIR)/detect_hostident.sh)
|
|
endif
|
|
|
|
# Where we live
|
|
DETECT_DIR = $(topsrcdir)/config/mkdetect
|
|
|
|
# Name of genereated makefile
|
|
DETECT_NAME = detect_$(DETECT_UNIQ_IDENT)_gen.mk
|
|
|
|
# The glibc detection script
|
|
DETECT_GLIBC = $(DETECT_DIR)/detect_glibc.sh -o $(DETECT_UNIQ_IDENT) \
|
|
-cc $(CC)
|
|
|
|
ifeq (motif, $(MOZ_TOOLKIT))
|
|
# The motif detection script
|
|
DETECT_MOTIF =\
|
|
$(DETECT_DIR)/detect_motif.sh -o $(DETECT_UNIQ_IDENT) \
|
|
-xif $(X11_INCLUDE_FLAGS) \
|
|
-cc $(CC)
|
|
endif
|
|
|
|
# The X11 detection script
|
|
DETECT_X11 = $(DETECT_DIR)/detect_x11.sh -o $(DETECT_UNIQ_IDENT) \
|
|
-cc $(CC)
|
|
|
|
# The following macros are generated:
|
|
#
|
|
# MOZILLA_XFE_GLIBC_BROKEN_LOCALE_FLAGS
|
|
# Needed because of currently broken locale support when mixing gnu
|
|
# libc2 with any version of motif.
|
|
#
|
|
#
|
|
# MOZILLA_XFE_MOTIF_PRINT_SHELL_FLAGS
|
|
# X Print Shell Extension (available starting with X11R6.3) needed
|
|
# by motif 2.1.
|
|
#
|
|
#
|
|
# MOZILLA_XFE_USE_WINNING_FILE_SELECTION
|
|
# Hacks to the motif file selection code to "fix" it. Where "fix"
|
|
# means "make the motif fsb not suck as hell". Motif source code
|
|
# is needed for this hack (it breaks with lesstif)
|
|
#
|
|
#
|
|
# Questions about any of these flags or this wacky scheme in general, should
|
|
# go to ramiro@netscape.com.
|
|
#
|
|
|
|
all: export
|
|
|
|
export: $(DETECT_NAME)
|
|
detect: $(DETECT_NAME)
|
|
|
|
realclean clobber clobber_all clean:
|
|
@rm -f $(DETECT_NAME) *_motif_$(DETECT_UNIQ_IDENT)* *_glibc_$(DETECT_UNIQ_IDENT)* *_x11_$(DETECT_UNIQ_IDENT)*
|
|
|
|
# This is needed for DETECT_MOTIF to work
|
|
X11_INCLUDE_FLAGS=$(shell $(DETECT_X11) -if)
|
|
|
|
$(DETECT_NAME):
|
|
@echo "Generating $(DETECT_NAME)."
|
|
@rm -f $@
|
|
@touch $@
|
|
@echo "#" >> $@
|
|
@echo "# Do Not edit." >> $@
|
|
@echo "# Automagically generated file." >> $@
|
|
@echo "#" >> $@
|
|
@echo >> $@
|
|
@echo >> $@
|
|
|
|
##
|
|
## GLIBC
|
|
##
|
|
|
|
##
|
|
## In theory, you can use glibc2 in many platforms. Right now only Linux
|
|
## seems to be using it, though.
|
|
##
|
|
## Test whether -lBrokenLocale is needed. Locale support is broken
|
|
## when using motif (any version) with gnu libc2.
|
|
##
|
|
ifeq ($(shell $(DETECT_GLIBC)),2)
|
|
@echo "# GLIBC2" >> $@
|
|
@echo "MOZILLA_XFE_USING_GLIBC2 = 1" >> $@
|
|
@echo >> $@
|
|
@echo "# Broken Locale" >> $@
|
|
@echo "MOZILLA_XFE_GLIBC_BROKEN_LOCALE_FLAGS = -lBrokenLocale" >> $@
|
|
endif
|
|
|
|
##
|
|
## X11
|
|
##
|
|
|
|
##
|
|
## Set the x11 include flags
|
|
##
|
|
@echo >> $@
|
|
@echo "# X11" >> $@
|
|
@echo "MOZILLA_XFE_X11_INCLUDE_FLAGS = `$(DETECT_X11) -if`" >> $@
|
|
|
|
##
|
|
## Determine if we have static x11 libs and set static flags.
|
|
##
|
|
ifneq ($(shell $(DETECT_X11) -sl),unknown)
|
|
@echo "MOZILLA_XFE_X11_HAVE_STATIC_LIB = 1" >> $@
|
|
@echo "MOZILLA_XFE_X11_STATIC_FLAGS = `$(DETECT_X11) -sf`" >> $@
|
|
endif
|
|
|
|
##
|
|
## Determine if we have dynamic x11 libs and set dynamic flags.
|
|
##
|
|
ifneq ($(shell $(DETECT_X11) -dl),unknown)
|
|
@echo "MOZILLA_XFE_X11_HAVE_DYNAMIC_LIB = 1" >> $@
|
|
@echo "MOZILLA_XFE_X11_DYNAMIC_PATHS = `$(DETECT_X11) -dp`" >> $@
|
|
@echo "MOZILLA_XFE_X11_DYNAMIC_FLAGS = `$(DETECT_X11) -df`" >> $@
|
|
endif
|
|
|
|
##
|
|
## Test whether -lSM -lICE are needed. These libs are need for session
|
|
## management in X11R6.
|
|
##
|
|
ifeq ($(shell $(DETECT_X11)),6)
|
|
@echo "MOZILLA_XFE_X11_SM_FLAGS = -lSM -lICE" >> $@
|
|
endif
|
|
|
|
##
|
|
## Motif
|
|
##
|
|
|
|
ifeq ($(MOZ_TOOLKIT),motif)
|
|
|
|
##
|
|
## Set the motif include flags
|
|
##
|
|
@echo >> $@
|
|
@echo "# Motif" >> $@
|
|
@echo "MOZILLA_XFE_MOTIF_INCLUDE_FLAGS = `$(DETECT_MOTIF) -if`" >> $@
|
|
|
|
##
|
|
## Determine if we have static motif libs and set static flags.
|
|
##
|
|
ifneq ($(shell $(DETECT_MOTIF) -sl),unknown)
|
|
@echo "MOZILLA_XFE_MOTIF_HAVE_STATIC_LIB = 1" >> $@
|
|
@echo "MOZILLA_XFE_MOTIF_STATIC_FLAGS = `$(DETECT_MOTIF) -sf`" >> $@
|
|
endif
|
|
|
|
##
|
|
## Determine if we have dynamic motif libs and set dynamic flags.
|
|
##
|
|
ifneq ($(shell $(DETECT_MOTIF) -dl),unknown)
|
|
@echo "MOZILLA_XFE_MOTIF_HAVE_DYNAMIC_LIB = 1" >> $@
|
|
@echo "MOZILLA_XFE_MOTIF_DYNAMIC_PATHS = `$(DETECT_MOTIF) -dp`" >> $@
|
|
@echo "MOZILLA_XFE_MOTIF_DYNAMIC_FLAGS = `$(DETECT_MOTIF) -df`" >> $@
|
|
endif
|
|
|
|
##
|
|
## Test whether -lXp is needed. The -lXp (Print Shell Extensions)
|
|
## are needed only with motif 2.1.
|
|
##
|
|
ifeq ($(shell $(DETECT_MOTIF)),2.1)
|
|
@echo "MOZILLA_XFE_MOTIF_PRINT_SHELL_FLAGS = -lXp" >> $@
|
|
endif
|
|
|
|
##
|
|
## Test whether -lXpm is needed. The -lXpm (X Pixmap Libary) is needed
|
|
## by some versions of motif. Some vendors try to do their customers
|
|
## favours by hacking the stock motif libs to include Xpm support.
|
|
##
|
|
ifeq ($(shell $(DETECT_MOTIF) -xpm),True)
|
|
@echo "MOZILLA_XFE_MOTIF_XPM_FLAGS = -lXpm" >> $@
|
|
endif
|
|
|
|
##
|
|
## Test whether we are using "real" motif libraries. If we are, then
|
|
## we can turn on the file selection hack which only works with motif
|
|
## (not lesstif)
|
|
##
|
|
ifneq ($(shell $(DETECT_MOTIF) -l),True)
|
|
@echo >> $@
|
|
@echo "# Winning File Selection" >> $@
|
|
@echo "MOZILLA_XFE_USE_WINNING_FILE_SELECTION = 1" >> $@
|
|
endif
|
|
|
|
# This is the endif for including motif
|
|
|
|
endif
|
|
|
|
##
|
|
## Lots of other magical things can be detected here.
|
|
##
|
|
|