mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
parent
4e0854b495
commit
bd00354a35
@ -1,5 +0,0 @@
|
||||
detect_glibc_*
|
||||
detect_x11_*
|
||||
detect_motif_*
|
||||
detect_*_gen.mk
|
||||
Makefile
|
@ -1,190 +0,0 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
# A unique 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 generated 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)
|
||||
|
||||
# The Motif detection script
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),motif)
|
||||
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)
|
||||
|
||||
# This is needed for DETECT_MOTIF to work
|
||||
X11_INCLUDE_FLAGS = $(shell $(DETECT_X11) -if)
|
||||
|
||||
#
|
||||
# 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: $(DETECT_NAME)
|
||||
|
||||
clean realclean clobber clobber_all:
|
||||
@rm -f $(DETECT_NAME) *_motif_$(DETECT_UNIQ_IDENT)* *_glibc_$(DETECT_UNIQ_IDENT)* *_x11_$(DETECT_UNIQ_IDENT)*
|
||||
|
||||
$(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_WIDGET_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
|
||||
## favors 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
|
||||
endif
|
||||
|
@ -1,225 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Name: detect_glibc.sh - Print __GLIBC__ version if gnu libc 2 is found.
|
||||
##
|
||||
## Description: This script is needed by the mozilla build system. It needs
|
||||
## to determine whether the current platform (mostly the
|
||||
## various linux "platforms") are based on the gnu libc2. This
|
||||
## information is later used in mozilla to determine whether
|
||||
## gnu libc 2 specific "features" need to be handled, such
|
||||
## as broken locales.
|
||||
##
|
||||
## Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
##
|
||||
## Command Line Flags Supported:
|
||||
##
|
||||
## -g | --is-glibc2: Print True/False if detected __GLIBC__.
|
||||
##
|
||||
## -v | --print-version: Print value of __GLIBC__ if found, or none.
|
||||
##
|
||||
## -o | --set-object-name: Set object name for current system.
|
||||
## -cc | --set-compiler: Set compiler for building test program.
|
||||
##
|
||||
## -c | --cleanup: Clean up any generated files.
|
||||
##
|
||||
|
||||
|
||||
##
|
||||
## Constants
|
||||
##
|
||||
GLIBC_PROG_PREFIX=./detect_glibc
|
||||
|
||||
##
|
||||
## Defaults
|
||||
##
|
||||
GLIBC_PRINT_IS_GLIBC2=False
|
||||
|
||||
GLIBC_PRINT_VERSION=False
|
||||
|
||||
GLIBC_OBJECT_NAME=`uname`-`uname -r`
|
||||
GLIBC_CC=cc
|
||||
|
||||
GLIBC_CLEANUP=False
|
||||
|
||||
glibc_usage()
|
||||
{
|
||||
echo
|
||||
echo "Usage: `basename $0` [options]"
|
||||
echo
|
||||
echo " -g, --is-glibc2: Print True/False if detected __GLIBC__."
|
||||
echo
|
||||
echo " -v, --print-version: Print value of __GLIBC__ if found, or none."
|
||||
echo
|
||||
echo " -o, --set-object-name: Set object name for current system."
|
||||
echo " -cc, --set-compiler: Set compiler for building test program."
|
||||
echo
|
||||
echo " -c, --cleanup: Clean up any generated files."
|
||||
echo
|
||||
echo " -h, --help: Print this blurb."
|
||||
echo
|
||||
echo "The default is '-v' if no options are given."
|
||||
echo
|
||||
}
|
||||
|
||||
##
|
||||
## Parse the command line
|
||||
##
|
||||
while [ "$*" ]; do
|
||||
case $1 in
|
||||
-h | --help)
|
||||
shift
|
||||
glibc_usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-g | --is-glibc2)
|
||||
shift
|
||||
GLIBC_PRINT_IS_GLIBC2=True
|
||||
;;
|
||||
|
||||
-v | --print-version)
|
||||
shift
|
||||
GLIBC_PRINT_VERSION=True
|
||||
;;
|
||||
|
||||
-o | --set-object-name)
|
||||
shift
|
||||
GLIBC_OBJECT_NAME="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-cc | --set-compiler)
|
||||
shift
|
||||
GLIBC_CC="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-c | --cleanup)
|
||||
shift
|
||||
GLIBC_CLEANUP=True
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo "`basename $0`: invalid option '$1'"
|
||||
shift
|
||||
glibc_usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
##
|
||||
## Glibc info program name
|
||||
##
|
||||
GLIBC_PROG="$GLIBC_PROG_PREFIX"_"$GLIBC_OBJECT_NAME"
|
||||
GLIBC_SRC="$GLIBC_PROG_PREFIX"_"$GLIBC_OBJECT_NAME.c"
|
||||
|
||||
##
|
||||
## Cleanup the dummy test source/program
|
||||
##
|
||||
glibc_cleanup()
|
||||
{
|
||||
rm -f $GLIBC_PROG $GLIBC_SRC
|
||||
}
|
||||
|
||||
##
|
||||
## -c | --cleanup
|
||||
##
|
||||
if [ "$GLIBC_CLEANUP" = "True" ]
|
||||
then
|
||||
glibc_cleanup
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -f $GLIBC_SRC ]
|
||||
then
|
||||
cat << EOF > $GLIBC_SRC
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc,char ** argv)
|
||||
{
|
||||
#ifdef __GLIBC__
|
||||
fprintf(stdout,"%d\n",__GLIBC__);
|
||||
#else
|
||||
fprintf(stdout,"none\n");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ ! -f $GLIBC_SRC ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create test program source $GLIBC_SRC."
|
||||
echo
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
##
|
||||
## Compile the dummy test program if needed
|
||||
##
|
||||
if [ ! -x $GLIBC_PROG ]
|
||||
then
|
||||
$GLIBC_CC -o $GLIBC_PROG $GLIBC_SRC
|
||||
fi
|
||||
|
||||
if [ ! -x $GLIBC_PROG ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create test program $GLIBC_PROG."
|
||||
echo
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
##
|
||||
## Execute the dummy test program
|
||||
##
|
||||
GLIBC_PROG_OUTPUT=`$GLIBC_PROG`
|
||||
|
||||
##
|
||||
## -g | --is-glibc2
|
||||
##
|
||||
if [ "$GLIBC_PRINT_IS_GLIBC2" = "True" ]
|
||||
then
|
||||
if [ "$GLIBC_PROG_OUTPUT" = "2" ]
|
||||
then
|
||||
echo True
|
||||
else
|
||||
echo False
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo $GLIBC_PROG_OUTPUT
|
@ -1,45 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Name: detect_hostident.sh - Print a uniq ident that describes this host
|
||||
##
|
||||
## Description: Used by other scripts/makefiles. Its simple, but will get
|
||||
## complicated when new platforms are added.
|
||||
##
|
||||
## Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
HOSTIDENT_ARCH=`uname -s`
|
||||
|
||||
# Determine the host name
|
||||
if [ "$HOSTIDENT_ARCH" = "Linux" ]
|
||||
then
|
||||
HOSTIDENT_HOSTNAME=`hostname -s`
|
||||
else
|
||||
HOSTIDENT_HOSTNAME=`hostname`
|
||||
fi
|
||||
|
||||
# A uniq hostidentifier that describes this host
|
||||
echo $HOSTIDENT_HOSTNAME
|
@ -1,849 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Name: detect_motif.sh - Get motif lib location, version and other info.
|
||||
##
|
||||
## Description: Artificial intelligence to figure out:
|
||||
##
|
||||
## + Where the motif headers/lib are located.
|
||||
## + Whether lesstif is being used.
|
||||
## + The version of motif being used.
|
||||
## + The compile and link flags needed to build motif apps.
|
||||
##
|
||||
## Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
|
||||
## This script looks in the space sepeared list of directories
|
||||
## (MOTIF_SEARCH_PATH) for motif headers and libraries.
|
||||
##
|
||||
## The search path can be overrided by the user by setting:
|
||||
##
|
||||
## MOZILLA_MOTIF_SEARCH_PATH
|
||||
##
|
||||
## To a space delimeted list of directories to search for motif paths.
|
||||
##
|
||||
## For example, if you have many different versions of motif installed,
|
||||
## and you want the current build to use headers in /foo/motif/include
|
||||
## and libraries in /foo/motif/lib, then do this:
|
||||
##
|
||||
## export MOZILLA_MOTIF_SEARCH_PATH="/foo/motif"
|
||||
##
|
||||
## The script also generates and builds a program 'detect_motif-OBJECT_NAME'
|
||||
## which prints out info on the motif detected on the system.
|
||||
##
|
||||
## This information is munged into useful strings that can be printed
|
||||
## through the various command line flags decribed bellow. This script
|
||||
## can be invoked from Makefiles or other scripts in order to set
|
||||
## flags needed to build motif program.
|
||||
##
|
||||
## The 'detect_motif-OBJECT_NAME' program is generated/built only
|
||||
## once and reused. Because of the OBJECT_NAME suffix, it will work on
|
||||
## multiple platforms at the same time.
|
||||
##
|
||||
## The generated files can be wiped by the --cleanup flag.
|
||||
##
|
||||
|
||||
##
|
||||
## Command Line Flags Supported:
|
||||
##
|
||||
## -l | --is-lesstif: Print True/False if usign lesstif.
|
||||
##
|
||||
## -v | --print-version: Print XmVERSION.
|
||||
## -r | --print-revision: Print XmREVISION.
|
||||
## -u | --print-update-level: Print XmUPDATE_LEVEL.
|
||||
## -s | --print-version-string: Print XmVERSION_STRING.
|
||||
##
|
||||
## -id | --print-include-dir: Print dir of motif includes.
|
||||
## -sd | --print-static-dir: Print dir of motif static libs.
|
||||
## -dd | --print-dynamic-dir: Print dir of motif dynamic libs.
|
||||
##
|
||||
## -sl | --print-static-lib: Print static lib.
|
||||
## -dl | --print-dynamic-lib: Print dynamic lib.
|
||||
##
|
||||
## -if | --print-include-flags: Print cc flags needed to build motif apps.
|
||||
## -sf | --print-static-flags: Print ld flags for linking statically.
|
||||
## -df | --print-dynamic-flags: Print ld flags for linking dynamically.
|
||||
## -dp | --print-dynamic-paths: Print ld paths for linking dynamically.
|
||||
##
|
||||
## -de | --dynamic-ext: Set extension used on dynamic libs.
|
||||
## -se | --static-ext: Set extension used on static libs.
|
||||
##
|
||||
## -o | --set-object-name: Set object name for current system.
|
||||
## -cc | --set-compiler: Set compiler for building test program.
|
||||
##
|
||||
## -xif | --set-x11-include-flags: Set X11 include flags.
|
||||
##
|
||||
## -xpm | --requires-xpm: Print {True,False} if we need libXpm.
|
||||
##
|
||||
## -c | --cleanup: Clean up any generated files.
|
||||
##
|
||||
|
||||
##
|
||||
## Look for motif headers in the following places:
|
||||
##
|
||||
DEFAULT_MOTIF_INCLUDE_SEARCH_PATH="\
|
||||
/usr/lesstif/include \
|
||||
/usr/local/include \
|
||||
/usr/dt/include \
|
||||
/usr/X11R6/include \
|
||||
/usr/X/include \
|
||||
/usr/include \
|
||||
/usr/include/Motif1.2 \
|
||||
"
|
||||
|
||||
##
|
||||
## Look for motif libraries in the following places:
|
||||
##
|
||||
DEFAULT_MOTIF_LIB_SEARCH_PATH="\
|
||||
/usr/lesstif/lib \
|
||||
/usr/local/lib \
|
||||
/usr/dt/lib \
|
||||
/usr/X11R6/lib \
|
||||
/usr/X/lib \
|
||||
/usr/lib \
|
||||
/usr/lib/Motif1.2 \
|
||||
/usr/lib/Motif1.2_R6 \
|
||||
"
|
||||
|
||||
##
|
||||
## The user can override the default share path by setting MOZILLA_MOTIF_SEARCH
|
||||
##
|
||||
if [ -n "$MOZILLA_MOTIF_INCLUDE_SEARCH_PATH" ]
|
||||
then
|
||||
MOTIF_INCLUDE_SEARCH_PATH=$MOZILLA_MOTIF_INCLUDE_SEARCH_PATH
|
||||
else
|
||||
MOTIF_INCLUDE_SEARCH_PATH=$DEFAULT_MOTIF_INCLUDE_SEARCH_PATH
|
||||
fi
|
||||
|
||||
if [ -n "$MOZILLA_MOTIF_LIB_SEARCH_PATH" ]
|
||||
then
|
||||
MOTIF_LIB_SEARCH_PATH=$MOZILLA_MOTIF_LIB_SEARCH_PATH
|
||||
else
|
||||
MOTIF_LIB_SEARCH_PATH=$DEFAULT_MOTIF_LIB_SEARCH_PATH
|
||||
fi
|
||||
|
||||
##
|
||||
## Constants
|
||||
##
|
||||
MOTIF_PROG_PREFIX=./detect_motif
|
||||
|
||||
##
|
||||
## Defaults
|
||||
##
|
||||
MOTIF_DYNAMIC_EXT=so
|
||||
MOTIF_STATIC_EXT=a
|
||||
|
||||
MOTIF_PRINT_IS_LESSTIF=False
|
||||
|
||||
MOTIF_PRINT_VERSION=False
|
||||
MOTIF_PRINT_REVISION=False
|
||||
MOTIF_PRINT_UPDATE_LEVEL=False
|
||||
|
||||
MOTIF_PRINT_INCLUDE_DIR=False
|
||||
MOTIF_PRINT_STATIC_DIR=False
|
||||
MOTIF_PRINT_DYNAMIC_DIR=False
|
||||
|
||||
MOTIF_PRINT_STATIC_LIB=False
|
||||
MOTIF_PRINT_DYNAMIC_LIB=False
|
||||
|
||||
MOTIF_PRINT_INCLUDE_FLAGS=False
|
||||
MOTIF_PRINT_STATIC_FLAGS=False
|
||||
MOTIF_PRINT_DYNAMIC_FLAGS=False
|
||||
MOTIF_PRINT_DYNAMIC_PATHS=False
|
||||
|
||||
MOTIF_PRINT_EVERYTHING=False
|
||||
|
||||
MOTIF_OBJECT_NAME=`uname`-`uname -r`
|
||||
MOTIF_OBJECT_NAME=`echo $MOTIF_OBJECT_NAME|sed -e 's:/:_:g'`
|
||||
MOTIF_CC=cc
|
||||
|
||||
MOTIF_X11_INCLUDE_FLAGS=
|
||||
|
||||
MOTIF_CLEANUP=False
|
||||
|
||||
MOTIF_CHECK_XPM=False
|
||||
|
||||
##
|
||||
## Stuff we need to figure out
|
||||
##
|
||||
MOTIF_VERSION_RESULT=unknown
|
||||
MOTIF_REVISION_RESULT=unknown
|
||||
MOTIF_UPDATE_RESULT=unknown
|
||||
MOTIF_VERSION_REVISION_RESULT=unknown
|
||||
MOTIF_VERSION_REVISION_UPDATE_RESULT=unknown
|
||||
MOTIF_VERSION_STRING_RESULT=unknown
|
||||
MOTIF_IS_LESSTIF_RESULT=unknown
|
||||
|
||||
MOTIF_INCLUDE_DIR=unknown
|
||||
MOTIF_STATIC_LIB=unknown
|
||||
MOTIF_DYNAMIC_LIB=unknown
|
||||
|
||||
MOTIF_STATIC_DIR=unknown
|
||||
MOTIF_DYNAMIC_DIR=unknown
|
||||
|
||||
MOTIF_INCLUDE_FLAGS=unknown
|
||||
MOTIF_STATIC_FLAGS=unknown
|
||||
MOTIF_DYNAMIC_FLAGS=unknown
|
||||
MOTIF_DYNAMIC_PATHS=unknown
|
||||
|
||||
motif_usage()
|
||||
{
|
||||
echo
|
||||
echo "Usage: `basename $0` [options]"
|
||||
echo
|
||||
echo " -l, --is-lesstif: Print {True,False} if using lesstif."
|
||||
echo
|
||||
echo " -v, --print-version: Print XmVERSION."
|
||||
echo " -r, --print-revision: Print XmREVISION."
|
||||
echo " -u, --print-update-level: Print XmUPDATE_LEVEL."
|
||||
echo " -s, --print-version-string: Print XmVERSION_STRING."
|
||||
echo
|
||||
echo " -id, --print-include-dir: Print dir of motif includes."
|
||||
echo " -sd, --print-static-dir: Print dir of motif static libs."
|
||||
echo " -dd, --print-dynamic-dir: Print dir of motif dynamic libs."
|
||||
echo
|
||||
echo " -sl, --print-static-lib: Print static lib."
|
||||
echo " -dl --print-dynamic-lib: Print dynamic lib."
|
||||
echo
|
||||
echo " -if, --print-include-flags: Print cc flags needed to compile."
|
||||
echo " -sf, --print-static-flags: Print ld flags for linking statically."
|
||||
echo " -df, --print-dynamic-flags: Print ld flags for linking dynamically."
|
||||
echo " -dp, --print-dynamic-paths: Print ld paths for linking dynamically."
|
||||
echo
|
||||
echo " -e, --print-everything: Print everything that is known."
|
||||
echo
|
||||
echo " -de, --dynamic-ext: Set extension used on dynamic libs."
|
||||
echo " -se, --static-ext: Set extension used on static libs."
|
||||
echo
|
||||
echo " -o, --set-object-name: Set object name for current system."
|
||||
echo " -cc, --set-compiler: Set compiler for building test program."
|
||||
echo
|
||||
echo " -xif, --set-x11-include-flags: Set X11 include flags."
|
||||
echo
|
||||
echo " -xpm, --requires-xpm: Print {True,False} if we need libXpm."
|
||||
echo
|
||||
echo " -h, --help: Print this blurb."
|
||||
echo
|
||||
echo " -c, --cleanup: Clean up any generated files."
|
||||
echo
|
||||
echo "The default is '-v -r' if no options are given."
|
||||
echo
|
||||
}
|
||||
|
||||
##
|
||||
## Parse the command line
|
||||
##
|
||||
while [ "$*" ]; do
|
||||
case $1 in
|
||||
-h | --help)
|
||||
shift
|
||||
motif_usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-l | --is-lesstif)
|
||||
shift
|
||||
MOTIF_PRINT_IS_LESSTIF=True
|
||||
;;
|
||||
|
||||
-v | --print-version)
|
||||
shift
|
||||
MOTIF_PRINT_VERSION=True
|
||||
;;
|
||||
|
||||
-r | --print-revision)
|
||||
shift
|
||||
MOTIF_PRINT_REVISION=True
|
||||
;;
|
||||
|
||||
-u | --print-update-level)
|
||||
shift
|
||||
MOTIF_PRINT_UPDATE_LEVEL=True
|
||||
;;
|
||||
|
||||
-s | --print-version-string)
|
||||
shift
|
||||
MOTIF_PRINT_VERSION_STRING=True
|
||||
;;
|
||||
|
||||
-id | --print-include-dir)
|
||||
shift
|
||||
MOTIF_PRINT_INCLUDE_DIR=True
|
||||
;;
|
||||
|
||||
-sd | --print-static-dir)
|
||||
shift
|
||||
MOTIF_PRINT_STATIC_DIR=True
|
||||
;;
|
||||
|
||||
-dd | --print-dynamic-dir)
|
||||
shift
|
||||
MOTIF_PRINT_DYNAMIC_DIR=True
|
||||
;;
|
||||
|
||||
-sl | --print-static-lib)
|
||||
shift
|
||||
MOTIF_PRINT_STATIC_LIB=True
|
||||
;;
|
||||
|
||||
-dl | --print-dynamic-lib)
|
||||
shift
|
||||
MOTIF_PRINT_DYNAMIC_LIB=True
|
||||
;;
|
||||
|
||||
-if | --print-include-flags)
|
||||
shift
|
||||
MOTIF_PRINT_INCLUDE_FLAGS=True
|
||||
;;
|
||||
|
||||
-sf | --print-static-flags)
|
||||
shift
|
||||
MOTIF_PRINT_STATIC_FLAGS=True
|
||||
;;
|
||||
|
||||
-df | --print-dynamic-flags)
|
||||
shift
|
||||
MOTIF_PRINT_DYNAMIC_FLAGS=True
|
||||
;;
|
||||
|
||||
-dp | --print-dynamic-paths)
|
||||
shift
|
||||
MOTIF_PRINT_DYNAMIC_PATHS=True
|
||||
;;
|
||||
|
||||
-e | --print-everything)
|
||||
shift
|
||||
MOTIF_PRINT_EVERYTHING=True
|
||||
;;
|
||||
|
||||
-de | --dynamic-ext)
|
||||
shift
|
||||
MOTIF_DYNAMIC_EXT="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-se | --static-ext)
|
||||
shift
|
||||
MOTIF_STATIC_EXT="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-o | --set-object-name)
|
||||
shift
|
||||
MOTIF_OBJECT_NAME="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-cc | --set-compiler)
|
||||
shift
|
||||
MOTIF_CC="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-xif | --set-x11-include-flags)
|
||||
shift
|
||||
MOTIF_X11_INCLUDE_FLAGS="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-c | --cleanup)
|
||||
shift
|
||||
MOTIF_CLEANUP=True
|
||||
;;
|
||||
|
||||
-xpm | --requires-xpm)
|
||||
shift
|
||||
MOTIF_CHECK_XPM=True
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo "`basename $0`: invalid option '$1'"
|
||||
shift
|
||||
motif_usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
##
|
||||
## Motif info program name
|
||||
##
|
||||
MOTIF_PROG="$MOTIF_PROG_PREFIX"_"$MOTIF_OBJECT_NAME"
|
||||
MOTIF_SRC="$MOTIF_PROG_PREFIX"_"$MOTIF_OBJECT_NAME.c"
|
||||
|
||||
##
|
||||
## The library names
|
||||
##
|
||||
MOTIF_DYNAMIC_LIB_NAME=libXm.$MOTIF_DYNAMIC_EXT
|
||||
MOTIF_STATIC_LIB_NAME=libXm.$MOTIF_STATIC_EXT
|
||||
|
||||
##
|
||||
## Cleanup the dummy test source/program
|
||||
##
|
||||
motif_cleanup()
|
||||
{
|
||||
rm -f $MOTIF_PROG $MOTIF_SRC
|
||||
}
|
||||
|
||||
##
|
||||
## Check whether the motif libs need Xpm
|
||||
##
|
||||
motif_check_xpm()
|
||||
{
|
||||
_lib=
|
||||
_count=0
|
||||
|
||||
if [ -f $MOTIF_DYNAMIC_LIB ]
|
||||
then
|
||||
_lib=$MOTIF_DYNAMIC_LIB
|
||||
else
|
||||
if [ -f $MOTIF_STATIC_LIB ]
|
||||
then
|
||||
_lib=$MOTIF_STATIC_LIB
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$_lib" ]
|
||||
then
|
||||
if [ -f $_lib ]
|
||||
then
|
||||
# Solaris 2.6's motif has builtin Xpm support.
|
||||
# Its a dumbass hack... Why not ship libXpm to avoid
|
||||
# the confusion ? Anyway, do 'grep -v XmXpm' to catch this
|
||||
# problem. In this case Xpm is not needed, since the symbols
|
||||
# are builtin to the libXm library.
|
||||
_count=`strings $_lib | grep Xpm | grep -v XmXpm | wc -l`
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $_count -gt 0 ]
|
||||
then
|
||||
echo True
|
||||
else
|
||||
echo False
|
||||
fi
|
||||
|
||||
unset _count
|
||||
unset _lib
|
||||
}
|
||||
|
||||
##
|
||||
## -c | --cleanup
|
||||
##
|
||||
if [ "$MOTIF_CLEANUP" = "True" ]
|
||||
then
|
||||
motif_cleanup
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## Look for <Xm/Xm.h>
|
||||
##
|
||||
for d in $MOTIF_INCLUDE_SEARCH_PATH
|
||||
do
|
||||
# Check for $d that exists and is readable
|
||||
if [ -d $d -a -r $d ]
|
||||
then
|
||||
if [ -d $d/Xm -a -f $d/Xm/Xm.h ]
|
||||
then
|
||||
MOTIF_INCLUDE_DIR=$d
|
||||
break;
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
##
|
||||
## Make sure the <Xm/Xm.h> header was found.
|
||||
##
|
||||
if [ "$MOTIF_INCLUDE_DIR" = "unknown" ]
|
||||
then
|
||||
echo
|
||||
echo "Could not find <Xm/Xm.h> anywhere on your system."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Generate the dummy test program if needed
|
||||
##
|
||||
if [ ! -f $MOTIF_SRC ]
|
||||
then
|
||||
cat << EOF > $MOTIF_SRC
|
||||
#include <stdio.h>
|
||||
#include <Xm/Xm.h>
|
||||
|
||||
int
|
||||
main(int argc,char ** argv)
|
||||
{
|
||||
char * lesstif =
|
||||
#ifdef LESSTIF_VERSION
|
||||
"True"
|
||||
#else
|
||||
"False"
|
||||
#endif
|
||||
;
|
||||
|
||||
/* XmVERSION:XmREVISION:XmUPDATE_LEVEL:XmVERSION_STRING:IsLesstif */
|
||||
fprintf(stdout,"%d:%d:%d:%s:%s\n",
|
||||
XmVERSION,
|
||||
XmREVISION,
|
||||
XmUPDATE_LEVEL,
|
||||
XmVERSION_STRING,
|
||||
lesstif);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
##
|
||||
## Make sure code was created
|
||||
##
|
||||
if [ ! -f $MOTIF_SRC ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create or read test program source $MOTIF_SRC."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Set flags needed to Compile the dummy test program
|
||||
##
|
||||
MOTIF_INCLUDE_FLAGS=-I$MOTIF_INCLUDE_DIR
|
||||
|
||||
##
|
||||
## Compile the dummy test program if needed
|
||||
##
|
||||
if [ ! -x $MOTIF_PROG ]
|
||||
then
|
||||
$MOTIF_CC $MOTIF_INCLUDE_FLAGS $MOTIF_X11_INCLUDE_FLAGS -o $MOTIF_PROG $MOTIF_SRC
|
||||
fi
|
||||
|
||||
##
|
||||
## Make sure it compiled
|
||||
##
|
||||
if [ ! -x $MOTIF_PROG ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create or execute test program $MOTIF_PROG."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Execute the dummy test program
|
||||
##
|
||||
MOTIF_PROG_OUTPUT=`$MOTIF_PROG`
|
||||
|
||||
##
|
||||
## Output has the following format:
|
||||
##
|
||||
## 1 2 3 4 5
|
||||
## XmVERSION:XmREVISION:XmUPDATE_LEVEL:XmVERSION_STRING:IsLesstif
|
||||
##
|
||||
MOTIF_VERSION_RESULT=`echo $MOTIF_PROG_OUTPUT | awk -F":" '{ print $1; }'`
|
||||
MOTIF_REVISION_RESULT=`echo $MOTIF_PROG_OUTPUT | awk -F":" '{ print $2; }'`
|
||||
MOTIF_UPDATE_RESULT=`echo $MOTIF_PROG_OUTPUT | awk -F":" '{ print $3; }'`
|
||||
MOTIF_VERSION_REVISION_RESULT=$MOTIF_VERSION_RESULT.$MOTIF_REVISION_RESULT
|
||||
MOTIF_VERSION_REVISION_UPDATE_RESULT=$MOTIF_VERSION_REVISION_RESULT.$MOTIF_UPDATE_RESULT
|
||||
MOTIF_VERSION_STRING_RESULT=`echo $MOTIF_PROG_OUTPUT | awk -F":" '{ print $4; }'`
|
||||
MOTIF_IS_LESSTIF_RESULT=`echo $MOTIF_PROG_OUTPUT | awk -F":" '{ print $5; }'`
|
||||
|
||||
##
|
||||
## There could be up to 4 dyanmic libs and/or links.
|
||||
##
|
||||
## libXm.so
|
||||
## libXm.so.1
|
||||
## libXm.so.1.2
|
||||
## libXm.so.1.2.4
|
||||
##
|
||||
MOTIF_DYNAMIC_SEARCH_PATH="\
|
||||
$MOTIF_DYNAMIC_LIB_NAME \
|
||||
$MOTIF_DYNAMIC_LIB_NAME.$MOTIF_VERSION_RESULT \
|
||||
$MOTIF_DYNAMIC_LIB_NAME.$MOTIF_VERSION_REVISION_RESULT \
|
||||
$MOTIF_DYNAMIC_LIB_NAME.$MOTIF_VERSION_REVISION_UPDATE_RESULT \
|
||||
"
|
||||
|
||||
##
|
||||
## Look for static library
|
||||
##
|
||||
for d in $MOTIF_LIB_SEARCH_PATH
|
||||
do
|
||||
if [ -f $d/$MOTIF_STATIC_LIB_NAME ]
|
||||
then
|
||||
MOTIF_STATIC_DIR=$d
|
||||
|
||||
MOTIF_STATIC_LIB=$MOTIF_STATIC_DIR/$MOTIF_STATIC_LIB_NAME
|
||||
|
||||
MOTIF_STATIC_FLAGS=$MOTIF_STATIC_LIB
|
||||
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
##
|
||||
## Look for dyanmic libraries
|
||||
##
|
||||
for d in $MOTIF_LIB_SEARCH_PATH
|
||||
do
|
||||
for l in $MOTIF_DYNAMIC_SEARCH_PATH
|
||||
do
|
||||
if [ -r $d/$l ]
|
||||
then
|
||||
MOTIF_DYNAMIC_DIR=$d
|
||||
|
||||
MOTIF_DYNAMIC_LIB=$d/$l
|
||||
|
||||
MOTIF_DYNAMIC_PATHS="-L$MOTIF_DYNAMIC_DIR"
|
||||
|
||||
MOTIF_DYNAMIC_FLAGS="-lXm"
|
||||
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
##
|
||||
## If the static library directory is different than the dynamic one, it
|
||||
## is possible that the system contains two incompatible installations of
|
||||
## motif/lesstif. For example, lesstif could be installed in /usr/lesstif
|
||||
## and the real motif could be installed in /usr/X11R6. This would cause
|
||||
## outofwhackage later in the build.
|
||||
##
|
||||
## Need to handle this one. Maybe we should just ignore the motif static
|
||||
## libs and just use the lesstif ones ? This is probably what the "user"
|
||||
## wants anyway. For instance, a "user" could be testing whether mozilla
|
||||
## works with lesstif without erasing the real motif libs.
|
||||
##
|
||||
## Also, by default the lesstif build system only creates dynamic libraries.
|
||||
## So this problem will always exist when both motif and lesstif are installed
|
||||
## in the system.
|
||||
##
|
||||
if [ "$MOTIF_STATIC_DIR" != "$MOTIF_DYNAMIC_DIR" ]
|
||||
then
|
||||
MOTIF_STATIC_DIR=unknown
|
||||
MOTIF_STATIC_LIB=unknown
|
||||
MOTIF_STATIC_FLAGS=unknown
|
||||
fi
|
||||
|
||||
##
|
||||
## -l | --is-lesstif
|
||||
##
|
||||
if [ "$MOTIF_PRINT_IS_LESSTIF" = "True" ]
|
||||
then
|
||||
echo $MOTIF_IS_LESSTIF_RESULT
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -e | --print-everything
|
||||
##
|
||||
if [ "$MOTIF_PRINT_EVERYTHING" = "True" ]
|
||||
then
|
||||
echo
|
||||
echo "XmVERSION: $MOTIF_VERSION_RESULT"
|
||||
echo "XmREVISION: $MOTIF_REVISION_RESULT"
|
||||
echo "XmUPDATE_LEVEL: $MOTIF_UPDATE_RESULT"
|
||||
echo "XmVERSION_STRING: $MOTIF_VERSION_STRING_RESULT"
|
||||
echo
|
||||
echo "Lesstif ?: $MOTIF_IS_LESSTIF_RESULT"
|
||||
echo
|
||||
echo "Include dir: $MOTIF_INCLUDE_DIR"
|
||||
echo "Static lib dir: $MOTIF_STATIC_DIR"
|
||||
echo "Dynamic lib dir: $MOTIF_DYNAMIC_DIR"
|
||||
echo
|
||||
echo "Static lib: $MOTIF_STATIC_LIB"
|
||||
echo "Dynamic lib: $MOTIF_DYNAMIC_LIB"
|
||||
echo
|
||||
echo "Include flags: $MOTIF_INCLUDE_FLAGS"
|
||||
echo "Static fags: $MOTIF_STATIC_FLAGS"
|
||||
echo "Dynamic paths: $MOTIF_DYNAMIC_PATHS"
|
||||
echo "Dynamic flags: $MOTIF_DYNAMIC_FLAGS"
|
||||
echo
|
||||
echo "OBJECT_NAME: $MOTIF_OBJECT_NAME"
|
||||
echo "Test program: $MOTIF_PROG"
|
||||
echo
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -xpm | --requires-xpm
|
||||
##
|
||||
if [ "$MOTIF_CHECK_XPM" = "True" ]
|
||||
then
|
||||
motif_check_xpm
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -id | --print-include-dir
|
||||
##
|
||||
if [ "$MOTIF_PRINT_INCLUDE_DIR" = "True" ]
|
||||
then
|
||||
echo $MOTIF_INCLUDE_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dd | --print-dynamic-dir
|
||||
##
|
||||
if [ "$MOTIF_PRINT_DYNAMIC_DIR" = "True" ]
|
||||
then
|
||||
echo $MOTIF_DYNAMIC_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sd | --print-static-dir
|
||||
##
|
||||
if [ "$MOTIF_PRINT_STATIC_DIR" = "True" ]
|
||||
then
|
||||
echo $MOTIF_STATIC_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dl | --print-dynamic-lib
|
||||
##
|
||||
if [ "$MOTIF_PRINT_DYNAMIC_LIB" = "True" ]
|
||||
then
|
||||
echo $MOTIF_DYNAMIC_LIB
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sl | --print-static-lib
|
||||
##
|
||||
if [ "$MOTIF_PRINT_STATIC_LIB" = "True" ]
|
||||
then
|
||||
echo $MOTIF_STATIC_LIB
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -if | --print-include-flags
|
||||
##
|
||||
if [ "$MOTIF_PRINT_INCLUDE_FLAGS" = "True" ]
|
||||
then
|
||||
echo $MOTIF_INCLUDE_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -df | --print-dynamic-flags
|
||||
##
|
||||
if [ "$MOTIF_PRINT_DYNAMIC_FLAGS" = "True" ]
|
||||
then
|
||||
echo $MOTIF_DYNAMIC_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dp | --print-dynamic-paths
|
||||
##
|
||||
if [ "$MOTIF_PRINT_DYNAMIC_PATHS" = "True" ]
|
||||
then
|
||||
echo $MOTIF_DYNAMIC_PATHS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sf | --print-static-flags
|
||||
##
|
||||
if [ "$MOTIF_PRINT_STATIC_FLAGS" = "True" ]
|
||||
then
|
||||
echo $MOTIF_STATIC_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
num=
|
||||
|
||||
##
|
||||
## -v | --print-version
|
||||
##
|
||||
if [ "$MOTIF_PRINT_VERSION" = "True" ]
|
||||
then
|
||||
num=$MOTIF_VERSION_RESULT
|
||||
|
||||
##
|
||||
## -r | --print-revision
|
||||
##
|
||||
if [ "$MOTIF_PRINT_REVISION" = "True" ]
|
||||
then
|
||||
num="$num".
|
||||
num="$num"$MOTIF_REVISION_RESULT
|
||||
|
||||
##
|
||||
## -u | --print-update-level
|
||||
##
|
||||
if [ "$MOTIF_PRINT_UPDATE_LEVEL" = "True" ]
|
||||
then
|
||||
num="$num".
|
||||
num="$num"$MOTIF_UPDATE_RESULT
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $num
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
##
|
||||
## -s | --print-version-string
|
||||
##
|
||||
if [ "$MOTIF_PRINT_VERSION_STRING" = "True" ]
|
||||
then
|
||||
echo $MOTIF_VERSION_STRING_RESULT
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## Default: Print XmVERSION.XmREVISION
|
||||
##
|
||||
echo $MOTIF_VERSION_RESULT.$MOTIF_REVISION_RESULT
|
||||
|
||||
exit 0
|
@ -1,706 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Name: detect_x11.sh - Get X11 lib location, version and other info.
|
||||
##
|
||||
## Description: Artificial intelligence to figure out:
|
||||
##
|
||||
## + Where the X11 headers/lib are located.
|
||||
## + The version of X11 being used.
|
||||
## + The compile and link flags needed to build X11 apps.
|
||||
##
|
||||
## Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
|
||||
## This script looks in the space sepeared list of directories
|
||||
## (X11_SEARCH_PATH) for x11 headers and libraries.
|
||||
##
|
||||
## The search path can be overrided by the user by setting:
|
||||
##
|
||||
## MOZILLA_X11_SEARCH_PATH
|
||||
##
|
||||
## To a space delimeted list of directories to search for x11 paths.
|
||||
##
|
||||
## For example, if you have many different versions of x11 installed,
|
||||
## and you want the current build to use headers in /foo/x11/include
|
||||
## and libraries in /foo/x11/lib, then do this:
|
||||
##
|
||||
## export MOZILLA_X11_SEARCH_PATH="/foo/x11"
|
||||
##
|
||||
## The script also generates and builds a program 'detect_x11-OBJECT_NAME'
|
||||
## which prints out info on the x11 detected on the system.
|
||||
##
|
||||
## This information is munged into useful strings that can be printed
|
||||
## through the various command line flags decribed bellow. This script
|
||||
## can be invoked from Makefiles or other scripts in order to set
|
||||
## flags needed to build x11 program.
|
||||
##
|
||||
## The get 'detect_x11-OBJECT_NAME' program is generated/built only
|
||||
## once and reused. Because of the OBJECT_NAME suffix, it will work on
|
||||
## multiple platforms at the same time.
|
||||
##
|
||||
## The generated files can be wiped by the --cleanup flag.
|
||||
##
|
||||
|
||||
##
|
||||
## Command Line Flags Supported:
|
||||
##
|
||||
## -v | --print-version: Print XlibSpecificationRelease.
|
||||
## -r | --print-revision: Print XmREVISION.
|
||||
## -u | --print-update-level: Print XmUPDATE_LEVEL.
|
||||
## -s | --print-version-string: Print XmVERSION_STRING.
|
||||
##
|
||||
## -id | --print-include-dir: Print dir of x11 includes.
|
||||
## -sd | --print-static-dir: Print dir of x11 static libs.
|
||||
## -dd | --print-dynamic-dir: Print dir of x11 dynamic libs.
|
||||
##
|
||||
## -sl | --print-static-lib: Print static lib.
|
||||
## -dl | --print-dynamic-lib: Print dynamic lib.
|
||||
##
|
||||
## -if | --print-include-flags: Print cc flags needed to build x11 apps.
|
||||
## -sf | --print-static-flags: Print ld flags for linking statically.
|
||||
## -df | --print-dynamic-flags: Print ld flags for linking dynamically.
|
||||
## -dp | --print-dynamic-paths: Print ld paths for linking dynamically.
|
||||
##
|
||||
## -de | --dynamic-ext: Set extension used on dynamic libs.
|
||||
## -se | --static-ext: Set extension used on static libs.
|
||||
##
|
||||
## -o | --set-object-name: Set object name for current system.
|
||||
## -cc | --set-compiler: Set compiler for building test program.
|
||||
##
|
||||
## -c | --cleanup: Clean up any generated files.
|
||||
##
|
||||
|
||||
##
|
||||
## Look for x11 stuff in the following places:
|
||||
##
|
||||
DEFAULT_X11_SEARCH_PATH="\
|
||||
/usr/local \
|
||||
/usr/openwin \
|
||||
/usr/X11R6 \
|
||||
/usr \
|
||||
"
|
||||
|
||||
##
|
||||
## The user can override the default share path by setting MOZILLA_X11_SEARCH
|
||||
##
|
||||
if [ -n "$MOZILLA_X11_SEARCH_PATH" ]
|
||||
then
|
||||
X11_SEARCH_PATH=$MOZILLA_X11_SEARCH_PATH
|
||||
else
|
||||
X11_SEARCH_PATH=$DEFAULT_X11_SEARCH_PATH
|
||||
fi
|
||||
|
||||
##
|
||||
## Constants
|
||||
##
|
||||
X11_PROG_PREFIX=./detect_x11
|
||||
|
||||
##
|
||||
## Defaults
|
||||
##
|
||||
X11_DYNAMIC_EXT=so
|
||||
X11_STATIC_EXT=a
|
||||
|
||||
X11_PRINT_VERSION=False
|
||||
X11_PRINT_REVISION=False
|
||||
X11_PRINT_UPDATE_LEVEL=False
|
||||
|
||||
X11_PRINT_INCLUDE_DIR=False
|
||||
X11_PRINT_STATIC_DIR=False
|
||||
X11_PRINT_DYNAMIC_DIR=False
|
||||
|
||||
X11_PRINT_STATIC_LIB=False
|
||||
X11_PRINT_DYNAMIC_LIB=False
|
||||
|
||||
X11_PRINT_INCLUDE_FLAGS=False
|
||||
X11_PRINT_STATIC_FLAGS=False
|
||||
X11_PRINT_DYNAMIC_FLAGS=False
|
||||
X11_PRINT_DYNAMIC_PATHS=False
|
||||
|
||||
X11_PRINT_EVERYTHING=False
|
||||
|
||||
X11_OBJECT_NAME=`uname`-`uname -r`
|
||||
X11_CC=cc
|
||||
|
||||
X11_CLEANUP=False
|
||||
|
||||
##
|
||||
## Stuff we need to figure out
|
||||
##
|
||||
X11_VERSION_RESULT=unknown
|
||||
X11_REVISION_RESULT=unknown
|
||||
X11_UPDATE_RESULT=unknown
|
||||
X11_VERSION_REVISION_RESULT=unknown
|
||||
X11_VERSION_REVISION_UPDATE_RESULT=unknown
|
||||
X11_VERSION_STRING_RESULT=unknown
|
||||
|
||||
X11_INCLUDE_DIR=unknown
|
||||
X11_STATIC_LIB=unknown
|
||||
X11_DYNAMIC_LIB=unknown
|
||||
|
||||
X11_STATIC_DIR=unknown
|
||||
X11_DYNAMIC_DIR=unknown
|
||||
|
||||
X11_INCLUDE_FLAGS=unknown
|
||||
X11_STATIC_FLAGS=unknown
|
||||
X11_DYNAMIC_FLAGS=unknown
|
||||
X11_DYNAMIC_PATHS=unknown
|
||||
|
||||
x11_usage()
|
||||
{
|
||||
echo
|
||||
echo "Usage: `basename $0` [options]"
|
||||
echo
|
||||
echo " -v, --print-version: Print XlibSpecificationRelease."
|
||||
echo " -r, --print-revision: Print XmREVISION."
|
||||
echo " -u, --print-update-level: Print XmUPDATE_LEVEL."
|
||||
echo " -s, --print-version-string: Print XmVERSION_STRING."
|
||||
echo
|
||||
echo " -id, --print-include-dir: Print dir of x11 includes."
|
||||
echo " -sd, --print-static-dir: Print dir of x11 static libs."
|
||||
echo " -dd, --print-dynamic-dir: Print dir of x11 dynamic libs."
|
||||
echo
|
||||
echo " -sl, --print-static-lib: Print static lib."
|
||||
echo " -dl --print-dynamic-lib: Print dynamic lib."
|
||||
echo
|
||||
echo " -if, --print-include-flags: Print cc flags needed to compile."
|
||||
echo " -sf, --print-static-flags: Print ld flags for linking statically."
|
||||
echo " -df, --print-dynamic-flags: Print ld flags for linking dynamically."
|
||||
echo " -dp, --print-dynamic-paths: Print ld paths for linking dynamically."
|
||||
echo
|
||||
echo " -e, --print-everything: Print everything that is known."
|
||||
echo
|
||||
echo " -de, --dynamic-ext: Set extension used on dynamic libs."
|
||||
echo " -se, --static-ext: Set extension used on static libs."
|
||||
echo
|
||||
echo " -o, --set-object-name: Set object name for current system."
|
||||
echo " -cc, --set-compiler: Set compiler for building test program."
|
||||
echo
|
||||
echo " -h, --help: Print this blurb."
|
||||
echo
|
||||
echo " -c, --cleanup: Clean up any generated files."
|
||||
echo
|
||||
echo "The default is '-v' if no options are given."
|
||||
echo
|
||||
}
|
||||
|
||||
##
|
||||
## Parse the command line
|
||||
##
|
||||
while [ "$*" ]; do
|
||||
case $1 in
|
||||
-h | --help)
|
||||
shift
|
||||
x11_usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-v | --print-version)
|
||||
shift
|
||||
X11_PRINT_VERSION=True
|
||||
;;
|
||||
|
||||
-r | --print-revision)
|
||||
shift
|
||||
X11_PRINT_REVISION=True
|
||||
;;
|
||||
|
||||
-u | --print-update-level)
|
||||
shift
|
||||
X11_PRINT_UPDATE_LEVEL=True
|
||||
;;
|
||||
|
||||
-s | --print-version-string)
|
||||
shift
|
||||
X11_PRINT_VERSION_STRING=True
|
||||
;;
|
||||
|
||||
-id | --print-include-dir)
|
||||
shift
|
||||
X11_PRINT_INCLUDE_DIR=True
|
||||
;;
|
||||
|
||||
-sd | --print-static-dir)
|
||||
shift
|
||||
X11_PRINT_STATIC_DIR=True
|
||||
;;
|
||||
|
||||
-dd | --print-dynamic-dir)
|
||||
shift
|
||||
X11_PRINT_DYNAMIC_DIR=True
|
||||
;;
|
||||
|
||||
-sl | --print-static-lib)
|
||||
shift
|
||||
X11_PRINT_STATIC_LIB=True
|
||||
;;
|
||||
|
||||
-dl | --print-dynamic-lib)
|
||||
shift
|
||||
X11_PRINT_DYNAMIC_LIB=True
|
||||
;;
|
||||
|
||||
-if | --print-include-flags)
|
||||
shift
|
||||
X11_PRINT_INCLUDE_FLAGS=True
|
||||
;;
|
||||
|
||||
-sf | --print-static-flags)
|
||||
shift
|
||||
X11_PRINT_STATIC_FLAGS=True
|
||||
;;
|
||||
|
||||
-df | --print-dynamic-flags)
|
||||
shift
|
||||
X11_PRINT_DYNAMIC_FLAGS=True
|
||||
;;
|
||||
|
||||
-dp | --print-dynamic-paths)
|
||||
shift
|
||||
X11_PRINT_DYNAMIC_PATHS=True
|
||||
;;
|
||||
|
||||
-e | --print-everything)
|
||||
shift
|
||||
X11_PRINT_EVERYTHING=True
|
||||
;;
|
||||
|
||||
-de | --dynamic-ext)
|
||||
shift
|
||||
X11_DYNAMIC_EXT="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-se | --static-ext)
|
||||
shift
|
||||
X11_STATIC_EXT="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-o | --set-object-name)
|
||||
shift
|
||||
X11_OBJECT_NAME="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-cc | --set-compiler)
|
||||
shift
|
||||
X11_CC="$1"
|
||||
shift
|
||||
;;
|
||||
|
||||
-c | --cleanup)
|
||||
shift
|
||||
X11_CLEANUP=True
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo "`basename $0`: invalid option '$1'"
|
||||
shift
|
||||
x11_usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
##
|
||||
## X11 info program name
|
||||
##
|
||||
X11_PROG="$X11_PROG_PREFIX"_"$X11_OBJECT_NAME"
|
||||
X11_SRC="$X11_PROG_PREFIX"_"$X11_OBJECT_NAME.c"
|
||||
|
||||
##
|
||||
## The library names
|
||||
##
|
||||
X11_DYNAMIC_LIB_NAME=libX11.$X11_DYNAMIC_EXT
|
||||
X11_STATIC_LIB_NAME=libX11.$X11_STATIC_EXT
|
||||
|
||||
##
|
||||
## Cleanup the dummy test source/program
|
||||
##
|
||||
x11_cleanup()
|
||||
{
|
||||
rm -f $X11_PROG $X11_SRC
|
||||
}
|
||||
|
||||
##
|
||||
## -c | --cleanup
|
||||
##
|
||||
if [ "$X11_CLEANUP" = "True" ]
|
||||
then
|
||||
x11_cleanup
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## Look for <X11/Xlib.h>
|
||||
##
|
||||
for d in $X11_SEARCH_PATH
|
||||
do
|
||||
if [ -d $d/include/X11 -a -f $d/include/X11/Xlib.h ]
|
||||
then
|
||||
X11_INCLUDE_DIR=$d/include
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
##
|
||||
## Make sure the <X11/Xlib.h> header was found.
|
||||
##
|
||||
if [ -z $X11_INCLUDE_DIR ]
|
||||
then
|
||||
echo
|
||||
echo "Could not find <X11/Xlib.h> anywhere on your system."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Generate the dummy test program if needed
|
||||
##
|
||||
if [ ! -f $X11_SRC ]
|
||||
then
|
||||
cat << EOF > $X11_SRC
|
||||
#include <stdio.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
int
|
||||
main(int argc,char ** argv)
|
||||
{
|
||||
#if 0
|
||||
/* XmVERSION:XmREVISION:XmUPDATE_LEVEL:XmVERSION_STRING:IsLesstif */
|
||||
fprintf(stdout,"%d:%d:%d:%s:%s\n",
|
||||
XmVERSION,
|
||||
XmREVISION,
|
||||
XmUPDATE_LEVEL,
|
||||
XmVERSION_STRING,
|
||||
lesstif);
|
||||
#else
|
||||
/* XlibSpecificationRelease */
|
||||
fprintf(stdout,"%d\n",
|
||||
XlibSpecificationRelease);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
##
|
||||
## Make sure code was created
|
||||
##
|
||||
if [ ! -f $X11_SRC ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create or read test program source $X11_SRC."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Set flags needed to Compile the dummy test program
|
||||
##
|
||||
X11_INCLUDE_FLAGS=-I$X11_INCLUDE_DIR
|
||||
|
||||
##
|
||||
## Compile the dummy test program if needed
|
||||
##
|
||||
if [ ! -x $X11_PROG ]
|
||||
then
|
||||
$X11_CC $X11_INCLUDE_FLAGS -o $X11_PROG $X11_SRC
|
||||
fi
|
||||
|
||||
##
|
||||
## Make sure it compiled
|
||||
##
|
||||
if [ ! -x $X11_PROG ]
|
||||
then
|
||||
echo
|
||||
echo "Could not create or execute test program $X11_PROG."
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##
|
||||
## Execute the dummy test program
|
||||
##
|
||||
X11_PROG_OUTPUT=`$X11_PROG`
|
||||
|
||||
##
|
||||
## Output has the following format:
|
||||
##
|
||||
## 1 2 3 4 5
|
||||
## XlibSpecificationRelease
|
||||
##
|
||||
X11_VERSION_RESULT=`echo $X11_PROG_OUTPUT | awk -F":" '{ print $1; }'`
|
||||
#X11_REVISION_RESULT=`echo $X11_PROG_OUTPUT | awk -F":" '{ print $2; }'`
|
||||
#X11_UPDATE_RESULT=`echo $X11_PROG_OUTPUT | awk -F":" '{ print $3; }'`
|
||||
#X11_VERSION_REVISION_RESULT=$X11_VERSION_RESULT.$X11_REVISION_RESULT
|
||||
#X11_VERSION_REVISION_UPDATE_RESULT=$X11_VERSION_REVISION_RESULT.$X11_UPDATE_RESULT
|
||||
#X11_VERSION_STRING_RESULT=`echo $X11_PROG_OUTPUT | awk -F":" '{ print $4; }'`
|
||||
|
||||
##
|
||||
## There could be up to 4 dyanmic libs and/or links.
|
||||
##
|
||||
## libX11.so
|
||||
## libX11.so.6
|
||||
## libX11.so.6.1
|
||||
## libX11.so.6.1.x
|
||||
##
|
||||
X11_DYNAMIC_SEARCH_PATH="\
|
||||
$X11_DYNAMIC_LIB_NAME \
|
||||
$X11_DYNAMIC_LIB_NAME.$X11_VERSION_RESULT \
|
||||
$X11_DYNAMIC_LIB_NAME.$X11_VERSION_REVISION_RESULT \
|
||||
$X11_DYNAMIC_LIB_NAME.$X11_VERSION_REVISION_UPDATE_RESULT \
|
||||
"
|
||||
|
||||
##
|
||||
## Look for static library
|
||||
##
|
||||
for d in $X11_SEARCH_PATH
|
||||
do
|
||||
if [ -f $d/lib/$X11_STATIC_LIB_NAME ]
|
||||
then
|
||||
X11_STATIC_DIR=$d/lib
|
||||
|
||||
X11_STATIC_LIB=$X11_STATIC_DIR/$X11_STATIC_LIB_NAME
|
||||
|
||||
X11_STATIC_FLAGS=$X11_STATIC_LIB
|
||||
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
##
|
||||
## Look for dyanmic libraries
|
||||
##
|
||||
for d in $X11_SEARCH_PATH
|
||||
do
|
||||
for l in $X11_DYNAMIC_SEARCH_PATH
|
||||
do
|
||||
if [ -r $d/lib/$l ]
|
||||
then
|
||||
X11_DYNAMIC_DIR=$d/lib
|
||||
|
||||
X11_DYNAMIC_LIB=$d/lib/$l
|
||||
|
||||
X11_DYNAMIC_PATHS="-L$X11_DYNAMIC_DIR"
|
||||
|
||||
X11_DYNAMIC_FLAGS="-lX11"
|
||||
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
##
|
||||
## If the static library directory is different than the dynamic one, it
|
||||
## is possible that the system contains two incompatible installations of
|
||||
## x11. For example, a hacked x11 could be installed in /foo/X11.HACKED
|
||||
## and the real x11 could be installed in /usr/X11R6. This would cause
|
||||
## outofwhackage later in the build.
|
||||
##
|
||||
## Need to handle this one. Maybe we should just ignore the x11 static
|
||||
## libs and just use the hacked ones ? This is probably what the "user"
|
||||
## wants anyway. For instance, a "user" could be testing whether mozilla
|
||||
## works with X11.HACKED without erasing the real x11 libs.
|
||||
##
|
||||
## Also, some x11 installations only have dynamic libraries.
|
||||
|
||||
##
|
||||
## -e | --print-everything
|
||||
##
|
||||
if [ "$X11_PRINT_EVERYTHING" = "True" ]
|
||||
then
|
||||
echo
|
||||
echo "XlibSpecificationRelease: $X11_VERSION_RESULT"
|
||||
# echo "XmREVISION: $X11_REVISION_RESULT"
|
||||
# echo "XmUPDATE_LEVEL: $X11_UPDATE_RESULT"
|
||||
# echo "XmVERSION_STRING: $X11_VERSION_STRING_RESULT"
|
||||
# echo
|
||||
echo "Include dir: $X11_INCLUDE_DIR"
|
||||
echo "Static lib dir: $X11_STATIC_DIR"
|
||||
echo "Dynamic lib dir: $X11_DYNAMIC_DIR"
|
||||
echo
|
||||
echo "Static lib: $X11_STATIC_LIB"
|
||||
echo "Dynamic lib: $X11_DYNAMIC_LIB"
|
||||
echo
|
||||
echo "Include flags: $X11_INCLUDE_FLAGS"
|
||||
echo "Static flags: $X11_STATIC_FLAGS"
|
||||
echo "dynamic paths: $X11_DYNAMIC_PATHS"
|
||||
echo "dynamic flags: $X11_DYNAMIC_FLAGS"
|
||||
echo
|
||||
echo "OBJECT_NAME: $X11_OBJECT_NAME"
|
||||
echo "Test program: $X11_PROG"
|
||||
echo
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -id | --print-include-dir
|
||||
##
|
||||
if [ "$X11_PRINT_INCLUDE_DIR" = "True" ]
|
||||
then
|
||||
echo $X11_INCLUDE_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dd | --print-dynamic-dir
|
||||
##
|
||||
if [ "$X11_PRINT_DYNAMIC_DIR" = "True" ]
|
||||
then
|
||||
echo $X11_DYNAMIC_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sd | --print-static-dir
|
||||
##
|
||||
if [ "$X11_PRINT_STATIC_DIR" = "True" ]
|
||||
then
|
||||
echo $X11_STATIC_DIR
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dl | --print-dynamic-lib
|
||||
##
|
||||
if [ "$X11_PRINT_DYNAMIC_LIB" = "True" ]
|
||||
then
|
||||
echo $X11_DYNAMIC_LIB
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sl | --print-static-lib
|
||||
##
|
||||
if [ "$X11_PRINT_STATIC_LIB" = "True" ]
|
||||
then
|
||||
echo $X11_STATIC_LIB
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -if | --print-include-flags
|
||||
##
|
||||
if [ "$X11_PRINT_INCLUDE_FLAGS" = "True" ]
|
||||
then
|
||||
echo $X11_INCLUDE_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -df | --print-dynamic-flags
|
||||
##
|
||||
if [ "$X11_PRINT_DYNAMIC_FLAGS" = "True" ]
|
||||
then
|
||||
echo $X11_DYNAMIC_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -dp | --print-dynamic-paths
|
||||
##
|
||||
if [ "$X11_PRINT_DYNAMIC_PATHS" = "True" ]
|
||||
then
|
||||
echo $X11_DYNAMIC_PATHS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## -sf | --print-static-flags
|
||||
##
|
||||
if [ "$X11_PRINT_STATIC_FLAGS" = "True" ]
|
||||
then
|
||||
echo $X11_STATIC_FLAGS
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
num=
|
||||
|
||||
##
|
||||
## -v | --print-version
|
||||
##
|
||||
if [ "$X11_PRINT_VERSION" = "True" ]
|
||||
then
|
||||
num=$X11_VERSION_RESULT
|
||||
|
||||
##
|
||||
## -r | --print-revision
|
||||
##
|
||||
if [ "$X11_PRINT_REVISION" = "True" ]
|
||||
then
|
||||
num="$num".
|
||||
num="$num"$X11_REVISION_RESULT
|
||||
|
||||
##
|
||||
## -u | --print-update-level
|
||||
##
|
||||
if [ "$X11_PRINT_UPDATE_LEVEL" = "True" ]
|
||||
then
|
||||
num="$num".
|
||||
num="$num"$X11_UPDATE_RESULT
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $num
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
##
|
||||
## -s | --print-version-string
|
||||
##
|
||||
if [ "$X11_PRINT_VERSION_STRING" = "True" ]
|
||||
then
|
||||
echo $X11_VERSION_STRING_RESULT
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##
|
||||
## Default: Print XmVERSION
|
||||
##
|
||||
echo $X11_VERSION_RESULT
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user