From a1a2adef0792a4accda1a7c48052dbfd9511c5fa Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Thu, 6 Aug 1998 16:18:34 +0000 Subject: [PATCH] New Unix configure system git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile | 2 +- include/wx/setup.h | 8 +- install/unix/INSTALL | 382 +++++ install/unix/config.guess | 599 ++++++++ install/unix/config.sub | 927 +++++++++++++ install/unix/configure.in | 1611 ++++++++++++++++++++++ install/unix/install-sh | 250 ++++ install/unix/setup/general/createall | 98 ++ install/unix/setup/general/jointar | 67 + install/unix/setup/general/makeapp | 73 + install/unix/setup/general/makedirs | 19 + install/unix/setup/general/makedoc | 102 ++ install/unix/setup/general/mygrep | 3 + install/unix/setup/general/needed | 10 + install/unix/setup/maketmpl.in | 124 ++ install/unix/setup/rules/bin | 13 + install/unix/setup/rules/bin2 | 14 + install/unix/setup/rules/doc | 90 ++ install/unix/setup/rules/gbin | 14 + install/unix/setup/rules/gbin2 | 14 + install/unix/setup/rules/generic/bin1 | 8 + install/unix/setup/rules/generic/bin1gen | 16 + install/unix/setup/rules/generic/bin2 | 9 + install/unix/setup/rules/generic/bin2gen | 16 + install/unix/setup/rules/generic/depend | 18 + install/unix/setup/rules/generic/globals | 15 + install/unix/setup/rules/generic/lib | 17 + install/unix/setup/rules/generic/needed | 24 + install/unix/setup/rules/generic/obj | 30 + install/unix/setup/rules/generic/slib | 21 + install/unix/setup/rules/generic/sobj | 42 + install/unix/setup/rules/glib | 15 + install/unix/setup/rules/glibbin | 17 + install/unix/setup/rules/glibgbin | 18 + install/unix/setup/rules/gslib | 15 + install/unix/setup/rules/lib | 14 + install/unix/setup/rules/libbin | 17 + install/unix/setup/rules/libgbin | 17 + install/unix/setup/setup.hin | 543 ++++++++ install/unix/setup/shared/sharedAIX | 26 + install/unix/setup/shared/sharedBsd | 33 + install/unix/setup/shared/sharedDgux | 29 + install/unix/setup/shared/sharedHpux | 29 + install/unix/setup/shared/sharedIrix | 45 + install/unix/setup/shared/sharedLinux | 34 + install/unix/setup/shared/sharedOSF | 33 + install/unix/setup/shared/sharedSolaris2 | 33 + install/unix/setup/shared/sharedSunos4 | 33 + install/unix/setup/shared/sharedSysV | 29 + install/unix/setup/substit.in | 75 + src/Makefile.in | 188 +-- src/gtk.inc | 176 +++ src/mkdirs | 10 + src/motif.inc | 61 + src/qt.inc | 61 + 55 files changed, 6002 insertions(+), 185 deletions(-) create mode 100644 install/unix/INSTALL create mode 100755 install/unix/config.guess create mode 100755 install/unix/config.sub create mode 100644 install/unix/configure.in create mode 100755 install/unix/install-sh create mode 100755 install/unix/setup/general/createall create mode 100755 install/unix/setup/general/jointar create mode 100644 install/unix/setup/general/makeapp create mode 100644 install/unix/setup/general/makedirs create mode 100644 install/unix/setup/general/makedoc create mode 100755 install/unix/setup/general/mygrep create mode 100755 install/unix/setup/general/needed create mode 100644 install/unix/setup/maketmpl.in create mode 100644 install/unix/setup/rules/bin create mode 100644 install/unix/setup/rules/bin2 create mode 100644 install/unix/setup/rules/doc create mode 100644 install/unix/setup/rules/gbin create mode 100644 install/unix/setup/rules/gbin2 create mode 100644 install/unix/setup/rules/generic/bin1 create mode 100644 install/unix/setup/rules/generic/bin1gen create mode 100644 install/unix/setup/rules/generic/bin2 create mode 100644 install/unix/setup/rules/generic/bin2gen create mode 100644 install/unix/setup/rules/generic/depend create mode 100644 install/unix/setup/rules/generic/globals create mode 100644 install/unix/setup/rules/generic/lib create mode 100644 install/unix/setup/rules/generic/needed create mode 100644 install/unix/setup/rules/generic/obj create mode 100644 install/unix/setup/rules/generic/slib create mode 100644 install/unix/setup/rules/generic/sobj create mode 100644 install/unix/setup/rules/glib create mode 100644 install/unix/setup/rules/glibbin create mode 100644 install/unix/setup/rules/glibgbin create mode 100644 install/unix/setup/rules/gslib create mode 100644 install/unix/setup/rules/lib create mode 100644 install/unix/setup/rules/libbin create mode 100644 install/unix/setup/rules/libgbin create mode 100644 install/unix/setup/setup.hin create mode 100755 install/unix/setup/shared/sharedAIX create mode 100755 install/unix/setup/shared/sharedBsd create mode 100755 install/unix/setup/shared/sharedDgux create mode 100755 install/unix/setup/shared/sharedHpux create mode 100755 install/unix/setup/shared/sharedIrix create mode 100755 install/unix/setup/shared/sharedLinux create mode 100755 install/unix/setup/shared/sharedOSF create mode 100755 install/unix/setup/shared/sharedSolaris2 create mode 100755 install/unix/setup/shared/sharedSunos4 create mode 100755 install/unix/setup/shared/sharedSysV create mode 100644 install/unix/setup/substit.in create mode 100644 src/gtk.inc create mode 100644 src/motif.inc create mode 100644 src/qt.inc diff --git a/Makefile b/Makefile index 4b603f1824..a34be9a8fc 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ user:: makefiles:: recreate Makefiles:: recreate recreate:: - @src/gtk/setup/general/createall + @install/unix/setup/general/createall # the following ones define what needs to be done to distribute the # library and its components diff --git a/include/wx/setup.h b/include/wx/setup.h index 9eef8da3ef..81b9de364c 100644 --- a/include/wx/setup.h +++ b/include/wx/setup.h @@ -11,6 +11,8 @@ # define __WXGTK__ # elif defined(__MOTIF__) # define __WXMOTIF__ +# elif defined(__QT__) +# define __WXQT__ # else # error No __WXxxx__ define set! Please define __WXGTK__,__WXMSW__ or __WXMOTIF__. # endif @@ -18,10 +20,8 @@ #if defined(__WXMSW__) #include "wx/msw/setup.h" -#elif defined(__WXMOTIF__) -#include "wx/xt/setup.h" -#elif defined(__WXGTK__) -#include "wx/gtk/setup.h" +#else +#include "wx/../../install/unix/setup/setup.h" #endif #endif diff --git a/install/unix/INSTALL b/install/unix/INSTALL new file mode 100644 index 0000000000..2f483ce549 --- /dev/null +++ b/install/unix/INSTALL @@ -0,0 +1,382 @@ +* General +---------- + +The Unix variants of wxWindows use GNU configure. If you have problems +with your make use GNU make instead. + +* GUI libraries +----------------------- + +wxWindows requires a GUI toolkit to be installed. Does that make +sense? So far only the GTK is supported, but we hope to provide +the choice between GTK, Qt, Motif/Lesstif in the not so distant +future. + +You can get the newest version of the GTK from the GTK homepage +at + http://www.gtk.org + +The newest versin of Qt can be downloaded for free from the Trolltec's +site at + http://www.troll.no + +Lesstif can be downloaded from their site +at + http://www.lesstif.org + +If you want to develop using Motif, you need to buy it, unless it comes +with your operating system such as all commercial Unices, as well as +RedHat's, SuSe's and probably other's Linux Motif editions. + +* Additional libraries +----------------------- + +There will be a few more features of wxWindows, which will +require further libraries (on some platforms). These +features will be optional. I hope to teach configure +to check that out automatically. + +Thread support: + + Requires pthreads under Linux with glibc 2. pthreads are + always present on such systems, so just compile, unless + you have RedHat 5.0, which has a broken combination of + glibc 2 and X. In this case, you have to run configure + with "--without-threads". + + Requires PCthreads under Linux with libc 5. If you + haven't installed pcthreads, there will be no thread + support in wxWindows, but the library will compile. + + Requires Posix threads on commercial Unix system, + which are always present. Just compile. + + Requires SGI threads on IRIX, which are always present. + Just compile. + +Python scripting language support: + + Requires Python. Soon to come. + +* Other things to do +----------------------------- + +wxGTK and wxMotif/wxLesstif require the built-in +ImLib/GdkImlib to be configured. For that purpose +copy the two files from /misc/imlib to your +home directory. You may also edit imrc by hand as +you like. The palette file is required when using +wxWindows in 256-colour mode. + +If you want to use wxWindows's ODBC support, you'll have +to create a .odbc.ini file. The readme file in +~/src/iodbc tells you what to do. + + +* Create your configuration +----------------------------- + +This must be done in /install/unix + +Usage: + ./configure options + +If you want to use system's C and C++ compiler, +set environment variables CC and CCC as + + % setenv CC cc + % setenv CCC CC + % ./configure options + +to see all the options please use: + + ./configure --help + +The basic philosophy is that if you want to use different +configurations, like a debug and a release version, +or use the same source tree on different systems, +you have only to change the environment variable OSTYPE. +(Sadly this variable is not set by default on some systems +in some shells - on SGI's for example). So you will have to +set it there. This variable HAS to be set before starting +configure, so that it knows which system it tries to +configure for. + +Configure will complain if the system variable OSTYPE has +not been defined. And Make in some circumstances as well... + +* General options +------------------- + +Obviously, you have to choose a toolkit. You must do this by +running configure with either of + + --with-gtk Use the GIMP ToolKit (GTK) + + --with-qt Use Qt from TrollTec + + --with-motif Use either Motif or Lesstif + Configure will look for both. + +The following options handle the kind of library you want to build. + + --with-shared Create shared libraries. + + --without-optimise Do not optimise the code. + + --with-profile Add profiling info to the + object files. Currently + broken. + + --with-mem_tracing Add built-in memory tracing. + + --with-debug_info Add debug info to object + files. + + --with-debug_flag Define __DEBUG__ and __WXDEBUG__ when + compiling. + +* Feature Options +------------------- + +When using the Windows version of wxWindows, it is possible +to edit the file /include/wx/msw/setup.h in order to enable +or disable some features of wxWindows so that the resulting +binaries get smaller. + +As I don't yet care for binary size and target mainly at +producing a shared library, wxWindows's configure system auto- +matically enables all features, as long as they are already +implemented. + +* Compiling +------------- + +The following must be done in the base directory (e.g. ~/wxGTK +or ~/wxWin) + +First you have to create all makefiles in all subdirectories: + + make Makefiles + +Dependencies are generated automatically using + + make depend + +for some reason, this doesn't seem to work. + +Now the makefiles are created you can compile everything is as simple +as typing: + + make + +make yourself some coffee, as it will try to compile +ALL the files in this distribution. + +if you want to be more selective: + + make src will build only the base libraries + make utils will build the utils + make samples will build the samples + make other will build the other samples + make user will build the files in the directory other + +Depending on the configuration of some files, the libraries +and binaries will be placed in different directories. +The "global" binaries and libraries will be placed in: + + bin/$(OSTYPE) and + lib/$(OSTYPE) respectively + +"local" binaries and libraries will be placed in: + + (basedir of that application)/$(OSTYPE). + +This is also the place where all the object-files will go. + +If you want to conserve disk space by removing unnecessary +object-files: + + make clean_obj + +will do the work for you. + +* Creating a new Project +-------------------------- + +I propose to put all contributed programs in the directory +"~/wxWin/user", with a directory of its own. + +This directory then should include the following files: + +Makefile (You can copy this one from any application in samples + probably you will not need to edit this one. There is + only one case where you might be interested in changing + this file, but about that see later.) +Makefile.in (This is the base application-Makefile template, from + which the actual Makefile for each system is created. + More about this later) + +put ALL your source code along with all the other stuff you need for +your application in this directory (subdirectories are welcome). + +** Something about Makefiles +------------------------------ + +On general principle it should only contain ONE line, which is as follows: + + include ../../src/unix/setup/general/makeapp + +this will include all the necessary definitions for creating the applications + +the only case where you might want to add another line is the following: +this version of configure also supports creation of source archives of the +application for easy distribution and updates to newer version of wxWindows. + For this purpose all files in the application-directory will be put into +a gziped tar-file in the full notation user//* +if you want to include some other files that you want "more visible", like +a README. or a shell script for easy +compilation/installation/distribution, then you have to add a variable + + DISTRIBUTE_ADDITIONAL= + +to the Makefile. +So it would look like this: + + DISTRIBUTE_ADDITIONAL=README.TheApp + include ../../src/unix/setup/general/makeapp + +As we have already talked about distribution the command to create a +distribution is: + + make distrib + +NOTE: If you are in the base directory of wxWindows it will create +distribution packages for wxWindows as well as for all packages in the +user directory. + So if you want to create only packages for the files in user, +then go to the directory other and type: + + make distrib + +or if you only want one application to be created then +enter the specific directory and type there: +make distrib + +All the distribution files will be put in the directory +distrib at the base of the wxWindows-tree (where also configure +and template.mak can be found). + +** Something about Makefile.in +-------------------------------- + +As you have already seen with Makefile, configure makes a lot of use +if the include statement in make to keep the Makefiles as simple as +possible. + +So basically there are only variables to define and then a include command. +Exception to this rule is if you have special rules for some stuff... +These rules should go AFTER the include statement!!! + +so the general header looks like this: + + # wxWindows base directory + WXBASEDIR=@WXBASEDIR@ + # set the OS type for compilation + OS=@OS@ + # compile a library only + RULE=bin + +and the general footer will look like this: + + # include the definitions now + include ../../../template.mak + +the key variable is RULE, which defines what make should create +in this directory. + +here are some examples: + + RULE description + =========================================================================== + bin creates a local binary (for a global binary prefix bin with g) + additional variables needed: + BIN_TARGET this gives the name of your application + BIN_OBJ this gives the object files needed to + link the application + optional variables are: + BIN_SRC this gives the list of c/c++ files for + which dependencies will be checked. + (This can be achieved with: make depend) + BIN_LINK this gives commands for additional + libraries needed to link the application + --------------------------------------------------------------------------- + bin2 creates two local binaries (for global binaries prefix bin2 with g) + in addition to the variables specified above you MUST also + provide the same variables with BIN2_ instead of BIN_ + --------------------------------------------------------------------------- + lib creates a local library (for a global binary prefix bin with g) + additional variables needed: + LIB_TARGET this gives the name of your library + LIB_OBJ this gives the object files needed for + the library to be build. + optional variables are: + LIB_SRC this gives the list of c/c++ files for + which dependencies will be checked. + libbin and libgbin are also possible and will need in addition + the variables from bin + --------------------------------------------------------------------------- + gslib is similar to lib, but it creates a shared library if the system + supports it. + additional variables needed: + LIB_MAJOR major number of the shared library + LIB_MINOR minor number of the shared library + --------------------------------------------------------------------------- + other additional variables: + + ADD_COMPILE define additional includes/defines that + are needed to compile the object files + (if you need to reference some directory + utils - like wxGrid -, then please + reference them with the variables defined + in template.mak - e.g.: $(SRCDIR),$(UTILS), + $(SAMPLES),$(OTHERS)) + + NEEDED_DEFINES lists all the defines that HAVE to be set in + /include/wx/setup.h to compile correctly. + + SRC_DIR lists all directories that are needed to + compile. (i.e: lists all the directories, + where there are source-files.) But it is + also needed to clean an object and for + machines, for which make does not support + VPATH + +currently there are the following compiling rules provided: +object files are created for the following file extensions: +.c .cc .cpp + +Please have a closer look at the Makefiles in this distribution. + +* Platforms configure is working with +--------------------------------------- + +Please report build succes on any machine. Especially non- +Linux operating systems (which I don't have). + +Original author of the autoconf system for wxxt-1.66 and for this INSTALL +file: + + Martin Sperl sperl@dsn.ast.univie.ac.at + +Ported to wxGTK 0.1: + + Wolfram Gloger wmglo@dent.med.uni-muenchen.de + +Thanks alot to both of them. + +In the hope that it will be useful, + + Robert Roebling roebling@sun2.ruf.uni-freiburg.de + + diff --git a/install/unix/config.guess b/install/unix/config.guess new file mode 100755 index 0000000000..c3c4e799a6 --- /dev/null +++ b/install/unix/config.guess @@ -0,0 +1,599 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Written by Per Bothner . +# The master version of this file is at the FSF in /home/gd/gnu/lib. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit system type (host/target name). +# +# Only a few systems have been added to this list; please add others +# (but try to keep the structure clean). +# + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 8/24/94.) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + alpha:OSF1:[VX]*:*) + # After 1.2, OSF1 uses "V1.3" for uname -r. + # After 4.x, OSF1 uses "X4.x" for uname -r. + echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VX]//'` + exit 0 ;; + alpha:OSF1:*:*) + # 1.2 uses "1.2" for uname -r. + echo alpha-dec-osf${UNAME_RELEASE} + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-cbm-sysv4 + exit 0;; + amiga:NetBSD:*:*) + echo m68k-cbm-netbsd${UNAME_RELEASE} + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + Pyramid*:OSx*:*:*) + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + sun4*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + atari*:NetBSD:*:*) + echo m68k-atari-netbsd${UNAME_RELEASE} + exit 0 ;; + sun3*:NetBSD:*:*) + echo m68k-sun-netbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:NetBSD:*:*) + echo m68k-apple-netbsd${UNAME_RELEASE} + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + mips:*:4*:UMIPS) + echo mips-mips-riscos4sysv + exit 0 ;; + mips:*:5*:RISCos) + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`uname -p` + if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88100 ] ; then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ + -o ${TARGET_BINARY_INTERFACE}x = x ] ; then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i[34]86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + sed 's/^ //' << EOF >dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:4) + if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=4.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[3478]??:HP-UX:*:*) + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/7?? | 9000/8?[679] ) HP_ARCH=hppa1.1 ;; + 9000/8?? ) HP_ARCH=hppa1.0 ;; + esac + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + sed 's/^ //' << EOF >dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*X-MP:*:*:*) + echo xmp-cray-unicos + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} + exit 0 ;; + CRAY*C90:*:*:*) + echo c90-cray-unicos${UNAME_RELEASE} + exit 0 ;; + CRAY-2:*:*:*) + echo cray2-cray-unicos + exit 0 ;; + hp3[0-9][05]:NetBSD:*:*) + echo m68k-hp-netbsd${UNAME_RELEASE} + exit 0 ;; + i[34]86:BSD/386:*:* | *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:NetBSD:*:*) + echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + i*:CYGWIN*:*) + echo i386-unknown-cygwin32 + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin32 + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. + ld_help_string=`ld --help 2>&1` + if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then + echo "${UNAME_MACHINE}-unknown-linux" ; exit 0 + elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then + echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0 + elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then + echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0 + elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then + echo "${UNAME_MACHINE}-unknown-linux" ; exit 0 + elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then + echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0 + elif test "${UNAME_MACHINE}" = "alpha" ; then + echo alpha-unknown-linux ; exit 0 + else + # Either a pre-BFD a.out linker (linuxoldld) or one that does not give us + # useful --help. Gcc wants to distinguish between linuxoldld and linuxaout. + test ! -d /usr/lib/ldscripts/. \ + && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0 + # Determine whether the default compiler is a.out or elf + cat >dummy.c </dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + fi ;; +# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions +# are messed up and put the nodename in both sysname and nodename. + i[34]86:DYNIX/ptx:4*:*) + echo i386-sequent-sysv4 + exit 0 ;; + i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*) + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} + else + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + i[34]86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-unknown-sysv32 + fi + exit 0 ;; + Intel:Mach:3*:*) + echo i386-unknown-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + M680[234]0:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0) + uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3 && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m680[234]0:LynxOS:2.[23]*:*) + echo m68k-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i[34]86:LynxOS:2.[23]*:*) + echo i386-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.[23]*:*) + echo sparc-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.[23]*:*) + echo rs6000-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + R3000:*System_V*:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +cat >dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3"); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-unknown-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +#if !defined (ultrix) + printf ("vax-dec-bsd\n"); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 +rm -f dummy.c dummy + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +#echo '(Unable to guess system type)' 1>&2 + +exit 1 diff --git a/install/unix/config.sub b/install/unix/config.sub new file mode 100755 index 0000000000..0432524944 --- /dev/null +++ b/install/unix/config.sub @@ -0,0 +1,927 @@ +#! /bin/sh +# Configuration validation subroutine script, version 1.1. +# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +if [ x$1 = x ] +then + echo Configuration name missing. 1>&2 + echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 + echo "or $0 ALIAS" 1>&2 + echo where ALIAS is a recognized configuration type. 1>&2 + exit 1 +fi + +# First pass through any local machine types. +case $1 in + *local*) + echo $1 + exit 0 + ;; + *) + ;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + linux-gnu*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple) + os= + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \ + | arme[lb] | pyramid \ + | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ + | alpha | we32k | ns16k | clipper | i370 | sh \ + | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \ + | pdp11 | mips64el | mips64orion | mips64orionel \ + | sparc | sparclet | sparclite | sparc64) + basic_machine=$basic_machine-unknown + ;; + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i[3456]86) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ + | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ + | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ + | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ + | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-* | f301-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-cbm + ;; + amigados) + basic_machine=m68k-cbm + os=-amigados + ;; + amigaunix | amix) + basic_machine=m68k-cbm + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | ymp) + basic_machine=ymp-cray + os=-unicos + ;; + cray2) + basic_machine=cray2-cray + os=-unicos + ;; + [ctj]90-cray) + basic_machine=c90-cray + os=-unicos + ;; + crds | unos) + basic_machine=m68k-crds + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + os=-mvs + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i[3456]86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i[3456]86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i[3456]86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i[3456]86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + miniframe) + basic_machine=m68000-convergent + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + np1) + basic_machine=np1-gould + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5) + basic_machine=i586-intel + ;; + pentiumpro | p6) + basic_machine=i686-intel + ;; + pentium-* | p5-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + k5) + # We don't have specific support for AMD's K5 yet, so just call it a Pentium + basic_machine=i586-amd + ;; + nexen) + # We don't have specific support for Nexgen yet, so just call it a Pentium + basic_machine=i586-nexgen + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=rs6000-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + xmp) + basic_machine=xmp-cray + os=-unicos + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + mips) + basic_machine=mips-mips + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sparc) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -unixware* | svr4*) + os=-sysv4 + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -linux-gnu* | -uxpv*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -ctix* | -uts*) + os=-sysv + ;; + -ns2 ) + os=-nextstep2 + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -xenix) + os=-xenix + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-semi) + os=-aout + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-ibm) + os=-aix + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigados + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f301-fujitsu) + os=-uxpv + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -hpux*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -vxsim* | -vxworks*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os diff --git a/install/unix/configure.in b/install/unix/configure.in new file mode 100644 index 0000000000..79c09fbd3c --- /dev/null +++ b/install/unix/configure.in @@ -0,0 +1,1611 @@ +dnl //////////////////////////////////////////////////////////////////////// +dnl +dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger +dnl and Martin Sperl. +dnl +dnl This script is under the wxWindows licence. +dnl +dnl //////////////////////////////////////////////////////////////////////// + +dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS +dnl +AC_DEFUN(AM_PATH_GTK, +[dnl +dnl Get the cflags and libraries from the gtk-config script +dnl +AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], + gtk_config_prefix="$withval", gtk_config_prefix="") +AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], + gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") + + if test x$gtk_config_exec_prefix != x ; then + gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" + if test x${GTK_CONFIG+set} != xset ; then + GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config + fi + fi + if test x$gtk_config_prefix != x ; then + gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" + if test x${GTK_CONFIG+set} != xset ; then + GTK_CONFIG=$gtk_config_prefix/bin/gtk-config + fi + fi + + AC_PATH_PROG(GTK_CONFIG, gtk-config, no) + min_gtk_version=ifelse([$1], ,0.99.7,$1) + AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) + no_gtk="" + if test "$GTK_CONFIG" != "no" ; then + GTK_CFLAGS=`$GTK_CONFIG --cflags` + GTK_LIBS=`$GTK_CONFIG --libs` + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$LIBS $GTK_LIBS" +dnl +dnl Now check if the installed GTK is sufficiently new. (Also sanity +dnl checks the results of gtk-config to some extent +dnl + AC_TRY_RUN([ +#include +#include + +int +main () +{ + int major, minor, micro; + + if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_gtk_version"); + exit(1); + } + + return !((gtk_major_version > major) || + ((gtk_major_version == major) && (gtk_minor_version > minor)) || + ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))); +} +],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + else + no_gtk=yes + fi + if test "x$no_gtk" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + GTK_CFLAGS="" + GTK_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) +]) + +dnl ------------------------------------------------------------------------ +dnl custom macros +dnl ------------------------------------------------------------------------ + +AC_DEFUN(AC_OVERRIDES_PREPARE, +[ +rm -f ${OSTYPE}.system.cache.tmp +touch ${OSTYPE}.system.cache.tmp +touch ${OSTYPE}.system.cache +]) + +AC_DEFUN(AC_OVERRIDES_DONE, +[ +mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache +]) + +dnl package,message,helpmessage,variable +AC_DEFUN(AC_OVERRIDES, +[ +AC_MSG_CHECKING("for $2") +AC_ARG_WITH($1,$3, +[if test "x$with_$1" = xyes; then + ac_cv_use_$1='$4="1"' +else + ac_cv_use_$1='$4="0"' +fi], +[ + LINE=`grep "$4" ${OSTYPE}.system.cache` + if test "x$LINE" != x ; then + eval "DEFAULT_$LINE" + fi + ac_cv_use_$1='$4='$DEFAULT_$4 +]) +eval "$ac_cv_use_$1" +echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp +if test "$$4" = 1; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +]) + +dnl package,message,helpmessage,variable +AC_DEFUN(AC_OVERRIDES_OLD, +[ +AC_MSG_CHECKING("for $2") +AC_CACHE_VAL(ac_cv_use_$1, +[ +AC_ARG_WITH($1,$3, +[if test "x$with_$1" = xyes; then + ac_cv_use_$1='$4="1"' +else + ac_cv_use_$1='$4="0"' +fi],[ac_cv_use_$1='$4=$DEFAULT_$4']) +]) +eval "$ac_cv_use_$1" + +if test "$$4" = 1; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +]) + +AC_DEFUN(AC_PATH_FIND_INCLUDES, +[ +ac_find_includes= +for ac_dir in $1; + do + if test -f "$ac_dir/$2"; then + ac_find_includes=$ac_dir + break + fi + done +]) + +AC_DEFUN(AC_PATH_FIND_LIBRARIES, +[ +ac_find_libraries= +for ac_dir in $1; + do + for ac_extension in a so sl; do + if test -f "$ac_dir/lib$2.$ac_extension"; then + ac_find_libraries=$ac_dir + break 2 + fi + done + done +]) + +dnl Path to include, allready defined +AC_DEFUN(AC_INCLUDE_PATH_EXIST, +[ + ac_path_to_include=$1 + echo "$2" | grep "\-I$1" > /dev/null + result=$? + if test $result = 0; then + ac_path_to_include="" + else + ac_path_to_include="-I$1" + fi +]) + +dnl Path to link, allready defined +AC_DEFUN(AC_LINK_PATH_EXIST, +[ + echo "$2" | grep "\-L$1" > /dev/null + result=$? + if test $result = 0; then + ac_path_to_link="" + else + ac_path_to_link="-L$1" + fi +]) + +dnl ------------------------------------------------------------------------ +dnl Process this file with autoconf to produce a configure script. +dnl ------------------------------------------------------------------------ + +AC_INIT(configure.in) + +dnl ------------------------------------------------------------------------ +dnl Check platform +dnl ------------------------------------------------------------------------ + +OS="${OSTYPE}" + +if test "x$OS" = "x"; then + UNAME=`uname` + AC_MSG_ERROR("The system variable OS has not been set" + "please set is everytime befor compiling on this system" + "A good example for this system would be:" + "setenv OSTYPE $UNAME for csh as a SHELL" + "EXPORT OSTYPE=$UNAME for sh as SHELL" + "please set this and restart again." + ) +fi + +dnl ------------------------------------------------------------------------ +dnl Set base directory +dnl ------------------------------------------------------------------------ + +cd ../.. +WXBASEDIR=`pwd` +cd install/unix +AC_SUBST(WXBASEDIR) + +dnl ------------------------------------------------------------------------ +dnl search path for includes and libraries +dnl ------------------------------------------------------------------------ + +SEARCH_INCLUDE="\ + /usr/Motif1.2/include \ + \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X11/include \ + /usr/include/X11 \ + /usr/local/X11/include \ + /usr/local/include/X11 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/local/include/gtk \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + " + +SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` \ + " + +dnl ------------------------------------------------------------------------ +dnl standard checks +dnl ------------------------------------------------------------------------ + +dnl ################### +dnl # checks programs # +dnl ################### + +dnl C-compiler checks +dnl ================= +dnl use what compiler +AC_PROG_CC +dnl defines CC with the compiler to use +dnl defines GCC with yes if using gcc +dnl defines GCC empty if not using gcc +dnl defines CFLAGS + +CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'` + +dnl does compiler support -c and -o simultaniously +AC_PROG_CC_C_O +dnl defines NO_MINUS_C_MINUS_O if compiler does not accept +dnl both switches simultaniously +dnl what is the c-preprocessor +AC_PROG_CPP +dnl defines CPP with the c-preprocessor +dnl is -traditional needed for correct compilations +AC_PROG_GCC_TRADITIONAL +dnl adds -traditional for gcc if needed + +AC_LANG_SAVE + +dnl C++-compiler checks +dnl =================== +dnl use what compiler +AC_PROG_CXX +dnl defines CXX with the compiler to use +dnl defines GXX with yes if using gxx +dnl defines GXX empty if not using gxx +dnl defines CXXFLAGS +dnl what is the C++-preprocessor +AC_PROG_CXXCPP +dnl defines CXXCPP with the C++-preprocessor + +CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'` + +AC_LANG_RESTORE + +dnl ranlib command +dnl ============== +AC_PROG_RANLIB +dnl defines RANLIB with the appropriate command + +dnl ar command +dnl ========== +AC_CHECK_PROG(AR, ar, ar, ar) +dnl defines AR with the appropriate command + +dnl install checks +dnl ============== +AC_PROG_INSTALL +dnl defines INSTALL with the appropriate command + +dnl does ln -s works +dnl ================ +AC_PROG_LN_S +dnl defines LN_S with the appropriate command + +dnl awk command +dnl =========== +AC_PROG_AWK +dnl defines AWK with the appropriate command + +dnl ############### +dnl # make checks # +dnl ############### +dnl check if VPATH works +AC_MSG_CHECKING("make for VPATH support") +dnl create Makefile +cat - << EOF > confMake +check : file + cp \$? \$@ + cp \$? final_file +EOF + +if test ! -d sub ; then + mkdir sub +fi +echo dummy > sub/file +${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null +RESULT=$? +rm -f sub/file check final_file config.log confMake +rmdir sub +if test "$RESULT" = 0; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) + AC_MSG_ERROR( +You need a make-utility that is able to use the variable +VPATH correctly. +If your version of make does not support VPATH correctly, +please install GNU-make (possibly as gmake), and start +configure with the following command: +export MAKE=gmake; ./configure for sh-type shells +setenv MAKE gmake; ./configure for csh-type shells +Also please do remember to use gmake in this case every time +you are trying to compile. +) +fi + +dnl #################### +dnl # checks libraries # +dnl #################### + +dnl find the X11 include and library files +AC_PATH_XTRA +dnl defines x_includes and x_libraries + +dnl ####################### +dnl # checks header files # +dnl ####################### +AC_HEADER_DIRENT +dnl defines DIR +dnl defines MACRO HAVE_DIRENT_H if dirent.h exists +dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists +dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists +dnl defines MACRO HAVE_NDIR_H if ndir.h exists +AC_HEADER_STDC +dnl defines STDC_HEADERS if ANSI-C header +AC_HEADER_SYS_WAIT +dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1 +AC_CHECK_HEADER(fcntl.h) +dnl defines HAVE_FCNTL_H +AC_CHECK_HEADER(limits.h) +dnl defines HAVE_LIMITS_h +AC_CHECK_HEADER(sys/file.h) +dnl defines HAVE_SYS_FILE_H +AC_CHECK_HEADER(sys/time.h) +dnl defines HAVE_SYS_TIME_H +AC_CHECK_HEADER(unistd.h) +dnl defines HAVE_UNISTD_H +dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL). +AC_CHECK_HEADER(linux/joystick.h) +GTK_JOYSTICK="" +if test "$ac_cv_header_linux_joystick_h" = "yes"; then + GTK_JOYSTICK="gtk/joystick.cpp" +fi +AC_SUBST(GTK_JOYSTICK) + +dnl ################### +dnl # checks typedefs # +dnl ################### +AC_TYPE_GETGROUPS +dnl defines GETGROUPS_T +AC_TYPE_MODE_T +dnl defines mode_t if not already defined +AC_TYPE_OFF_T +dnl defines off_t if not already defined +AC_TYPE_PID_T +dnl defines pid_t if not already defined +AC_TYPE_SIGNAL +dnl defines RETSIGTYPE for the correct return type of signal +AC_TYPE_SIZE_T +dnl defines size_t if not already defined +AC_TYPE_UID_T +dnl defines uid_t and gid_t if not already defined + +dnl ##################### +dnl # checks structures # +dnl ##################### + +AC_HEADER_STAT +dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG +dnl do not work properly +AC_HEADER_TIME +dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can +dnl both be included +AC_STRUCT_ST_BLKSIZE +dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize +AC_STRUCT_ST_BLOCKS +dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks +AC_STRUCT_ST_RDEV +dnl defines HAVE_ST_RDEV if struct stat contains st_rdev +AC_STRUCT_TM +dnl defines TM_IN_SYS_TIME if struct tm is not in time.h +AC_STRUCT_TIMEZONE +dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone +dnl otherwise +dnl defines HAVE_TZNAME if external array tzname is found + +dnl ################################### +dnl # checks compiler characteristics # +dnl ################################### +dnl AC_C_CROSS + +AC_C_CONST +dnl defines const to be empty if c-compiler does not support const fully +AC_C_INLINE +dnl defines inline to a sensible value for the c-compiler +AC_C_CHAR_UNSIGNED +dnl defines __CHAR_UNSIGNED__ if char is unsigned +AC_C_LONG_DOUBLE +dnl defines HAVE_LONGDOUBLE if compiler supports long double + +AC_C_BIGENDIAN +dnl defines WORDS_BIGENDIAN if system is big endian + +AC_CHECK_SIZEOF(int *) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) +dnl defines the size of certain types of variables in SIZEOF_??? + +dnl ############################ +dnl # checks library functions # +dnl ############################ + +dnl ########################## +dnl # checks system services # +dnl ########################## + + +AC_SYS_LONG_FILE_NAMES +dnl defines HAVE_LONG_FILENAMES if filenames longer then +dnl 14 chars are supported + +dnl AC_SYS_RESTARTABLE_SYSCALLS +dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a +dnl system call that is interrupted +dnl by a signal + +dnl ################# +dnl # checks PARSER # +dnl ################# + +dnl YACC checks +dnl =========== +AC_PROG_YACC +dnl defines YACC with the appropriate command + +dnl LEX checks +dnl ========== +AC_PROG_LEX +dnl defines LEX with the appropriate command +dnl defines LEXLIB with the appropriate library +dnl what type is yytext +AC_DECL_YYTEXT +dnl defines YYTEXT_POINTER if yytext is char* +dnl defines LEX_OUTPUT_ROOT as to the base of the +dnl filename output by the lexer + +dnl ------------------------------------------------------------------------ +dnl main includes +dnl ------------------------------------------------------------------------ + +CHECK_INCLUDE="-I/usr/include $X_CFLAGS" +CHECK_LIB="-L/lib -L/usr/lib $X_LIBS" + +dnl ------------------------------------------------------------------------ +dnl host system +dnl ------------------------------------------------------------------------ + +AC_CANONICAL_HOST +canonical=$host +configuration=$host_alias + +dnl ------------------------------------------------------------------------ +dnl system settings +dnl ------------------------------------------------------------------------ + +USE_UNIX=1 + + +USE_LINUX= +USE_SGI= +USE_HPUX= +USE_SYSV= +USE_SVR4= +USE_AIX= +USE_SUN= +USE_SOLARIS= +USE_SUNOS= +USE_ALPHA= +USE_OSF= +USE_BSD= +USE_FREEBSD= +USE_VMS= +USE_ULTRIX= +USE_DATA_GENERAL= + +case "${canonical}" in + *-hp-hpux* ) + USE_HPUX=1 + AC_DEFINE(__HPUX__) + ;; + *-*-linux* ) + USE_LINUX=1 + AC_DEFINE(__LINUX__) + ;; + *-*-irix5* | *-*-irix6* ) + USE_SGI=1 + USE_SVR4=1 + AC_DEFINE(__SGI__) + AC_DEFINE(__SVR4__) + ;; + *-*-solaris2* ) + USE_SUN=1 + USE_SOLARIS=1 + USE_SVR4=1 + AC_DEFINE(__SUN__) + AC_DEFINE(__SOLARIS__) + AC_DEFINE(__SVR4__) + ;; + *-*-sunos4* ) + USE_SUN=1 + USE_SUNOS=1 + USE_BSD=1 + AC_DEFINE(__SUN__) + AC_DEFINE(__SUNOS__) + AC_DEFINE(__BSD__) + ;; + *-*-freebsd* | *-*-netbsd*) + USE_BSD=1 + USE_FREEBSD=1 + AC_DEFINE(__FREEBSD__) + AC_DEFINE(__BSD__) + ;; + *-*-osf* ) + USE_ALPHA=1 + USE_OSF=1 + AC_DEFINE(__ALPHA__) + AC_DEFINE(__OSF__) + ;; + *-*-dgux5* ) + USE_ALPHA=1 + USE_SVR4=1 + AC_DEFINE(__ALPHA__) + AC_DEFINE(__SVR4__) + ;; + *-*-sysv5* ) + USE_SYSV=1 + USE_SVR4=1 + AC_DEFINE(__SYSV__) + AC_DEFINE(__SVR4__) + ;; + *-*-aix* ) + USE_AIX=1 + USE_SYSV=1 + USE_SVR4=1 + AC_DEFINE(__AIX__) + AC_DEFINE(__SYSV__) + AC_DEFINE(__SVR4__) + ;; + *) + AC_MSG_ERROR(I don't know your system type.) +esac + +dnl ------------------------------------------------------------------------ +dnl defaults for command options +dnl ------------------------------------------------------------------------ + +AC_OVERRIDES_PREPARE + +DEFAULT_USE_GTK=0 +DEFAULT_USE_QT=0 +DEFAULT_USE_MOTIF=0 + +DEFAULT_USE_SHARED=0 +DEFAULT_USE_OPTIMISE=1 +DEFAULT_USE_PROFILE=0 +DEFAULT_USE_DEBUG_FLAG=0 +DEFAULT_USE_DEBUG_INFO=0 +DEFAULT_USE_MEM_TRACING=0 + +DEFAULT_USE_ZLIB=1 +DEFAULT_USE_GDK_IMLIB=1 +DEFAULT_USE_LIBPNG=1 +DEFAULT_USE_ODBC=1 + +DEFAULT_USE_APPLE_IEEE=1 +DEFAULT_USE_STORABLE_CLASSES=1 +DEFAULT_USE_AUTOTRANS=1 +DEFAULT_USE_AFM_FOR_POSTSCRIPT=1 +DEFAULT_WX_NORMALIZED_PS_FONTS=1 + +DEFAULT_USE_IOSTREAMH=1 + +DEFAULT_USE_OPENGL=0 + +DEFAULT_USE_WXCONFIG=1 +DEFAULT_USE_POSTSCRIPT=1 +DEFAULT_USE_IPC=1 +DEFAULT_USE_RESOURCES=1 +DEFAULT_USE_TIMEDATE=1 +DEFAULT_USE_FRACTION=1 +DEFAULT_USE_CONSTRAINTS=1 +DEFAULT_USE_TOOLBAR=1 +DEFAULT_USE_GAUGE=1 +DEFAULT_USE_SCROLLBAR=1 +DEFAULT_USE_DOC_VIEW_ARCHITECTURE=1 +DEFAULT_USE_PRINTING_ARCHITECTURE=1 + +DEFAULT_USE_METAFILE=0 +DEFAULT_USE_HELP=0 +DEFAULT_USE_CLIPBOARD=0 +DEFAULT_USE_VLBOX=0 +DEFAULT_USE_WXGRAPH=0 +DEFAULT_USE_WXTREE=0 +DEFAULT_USE_ENHANCED_DIALOG=0 + +DEFAULT_USE_FORM=0 +DEFAULT_USE_PROLOGIO=1 +DEFAULT_USE_RPC=0 +DEFAULT_USE_WX_RESOURCES=1 + +dnl ---------------------------------------------------------------- +dnl toolkit options +dnl ---------------------------------------------------------------- + +AC_OVERRIDES(gtk,gtk, +**--with-gtk use GTK, +USE_GTK) + +AC_OVERRIDES(qt,qt, +**--with-qt use Qt, +USE_QT) + +AC_OVERRIDES(motif,motif, +**--with-motif use Motif/Lesstif, +USE_MOTIF) + +dnl ---------------------------------------------------------------- +dnl compile options +dnl ---------------------------------------------------------------- + +AC_OVERRIDES(shared,shared, +**--with-shared create shared libraries, +USE_SHARED) + +AC_OVERRIDES(optimise,optimise, +**--with-optimise create optimised code, +USE_OPTIMISE) + +AC_OVERRIDES(debug_flag,debug_flag, +**--with-debug_flag create code with WXDEBUG define set to 1, +USE_DEBUG_FLAG) + +AC_OVERRIDES(debug_info,debug_info, +**--with-debug_info create code with debuging information included, +USE_DEBUG_INFO) + +AC_OVERRIDES(mem_tracing,mem_tracing, +**--with-mem_traing create code with memory tracing, +USE_MEM_TRACING) + +AC_OVERRIDES(profile,profile, +**--with-profile create code with profiling information included, +USE_PROFILE) + +dnl ---------------------------------------------------------------- +dnl user options for libraries (no choice yet) +dnl ---------------------------------------------------------------- + +AC_OVERRIDES(zlib,zlib, +**--with-zlib use zlib (LZW comression), +USE_ZLIB) + +AC_OVERRIDES(gdk_imlib,gdk_imlib, +**--with-gdk_imlib use Raster's gdk_imlib (Image library), +USE_GDK_IMLIB) + +AC_OVERRIDES(libpng,libpng, +**--with-libpng use libpng (PNG image format), +USE_LIBPNG) + +AC_OVERRIDES(odbc,odbc, +**--with-odbc use iODBC, +USE_ODBC) + +AC_OVERRIDES(opengl,opengl, +**--with-opengl use opengl (OpenGL or Mesa), +USE_OPENGL) + +dnl ---------------------------------------------------------------- +dnl user options for code features (no choice yet) +dnl ---------------------------------------------------------------- + +AC_OVERRIDES(apple_ieee, apple_ieee, +**--with_apple_ieee use the Apple IEEE codec, +USE_APPLE_IEEE) + +AC_OVERRIDES(storable,storable, +**--with-storable use storable classes, +USE_STORABLE_CLASSES) + +AC_OVERRIDES(autotrans,autotrans, +**--with-autotrans use gettext automatic translation, +USE_AUTOTRANS) + +AC_OVERRIDES(afmfonts,afmfonts, +**--with-afmfonts use Adobe Font Metric Font table, +USE_AFM_FOR_POSTSCRIPT) + +AC_OVERRIDES(normalized, normalized, +**--with-PS-normalized use normalized PS fonts, +WX_NORMALIZED_PS_FONTS) + +AC_OVERRIDES(rpc,RPC, +**--with-rpc use RPC, +USE_RPC) + +AC_OVERRIDES(wxresources,wxresources, +**--with-wxresources use wxresources, +USE_WX_RESOURCES) + +AC_OVERRIDES(prologio,prologio, +**--with-prologio use prologio, +USE_PROLOGIO) + +AC_OVERRIDES(postscript, postscript, +**--with-postscript use postscript-device-context, +USE_POSTSCRIPT) + +AC_OVERRIDES(wxconfig, wxconfig, +**--with-wxconfig use wxconfig, +USE_WXCONFIG) + +AC_OVERRIDES(metafile, metafile, +**--with-metafile use metafile, +USE_METAFILE) + +AC_OVERRIDES(form,form, +**--with-form use form, +USE_FORM) + +AC_OVERRIDES(help,help, +**--with-help use help, +USE_HELP) + +AC_OVERRIDES(ipc,IPC, +**--with-ipc use ipc, +USE_IPC) + +AC_OVERRIDES(enhanceddialog,enhanced dialog, +**--with-enhanceddialog use enhanced dialog, +USE_ENHANCED_DIALOG) + +AC_OVERRIDES(resources,resources, +**--with-resources use resources, +USE_RESOURCES) + +AC_OVERRIDES(clipboard,clipboard, +**--with-clipboard use clipboard, +USE_CLIPBOARD) + +AC_OVERRIDES(timedate, timedate, +**--with-timedate use timedate, +USE_TIMEDATE) + +AC_OVERRIDES(fraction,fraction, +**--with-fraction use fraction, +USE_FRACTION) + +AC_OVERRIDES(constraints,constrains, +**--with-constraints use constraints, +USE_CONSTRAINTS) + +AC_OVERRIDES(toolbar,toolbar, +**--with-toolbar use toolbar, +USE_TOOLBAR) + +AC_OVERRIDES(gauge,gauge, +**--with-gauge use gauge, +USE_GAUGE) + +AC_OVERRIDES(vllist,vllist, +**--with-vlbox use virtual list box, +USE_VLBOX) + +AC_OVERRIDES(scrollbar,scrollbar, +**--with-scrollbar use scrollbar, +USE_SCROLLBAR) + +AC_OVERRIDES(docview,docview, +**--with-docview use document view architecture, +USE_DOC_VIEW_ARCHITECTURE) + +AC_OVERRIDES(printarch,printarch, +**--with-printarch use printing architecture, +USE_PRINTING_ARCHITECTURE) + +AC_OVERRIDES(typetree,typetree, +**--with-typetree use typetree, +USE_TYPETREE) + +AC_OVERRIDES(wxgraph,wxgraph, +**--with-wxgraph use wxgraph, +USE_WXGRAPH) + +AC_OVERRIDES(wxtree,wxtree, +**--with-wxtree use wxtree, +USE_WXTREE) + +dnl AC_OVERRIDES(package,message,helpmessage,variable) + +dnl ---------------------------------------------------------------- +dnl Unix, obviously +dnl ---------------------------------------------------------------- + +if test "$USE_UNIX" = 1 ; then + AC_DEFINE(__UNIX__) +fi + +dnl ---------------------------------------------------------------- +dnl search for toolkit (widget sets) +dnl ---------------------------------------------------------------- + +TOOLKIT= +TOOLKIT_DEF= + +GUI_TK_INCLUDE= +GUI_TK_LIBRARY= +GUI_TK_LINK= + +MAKEINCLUDE= + +if test "$USE_GTK" = 1; then + AM_PATH_GTK(0.99.7, [ + GUI_TK_INCLUDE="$GTK_CFLAGS" + GUI_TK_LIBRARY="$GTK_LIBS" + ], AC_MSG_ERROR(Are gtk-config and the GTK in path and up-to-date?)) + AC_DEFINE(__WXGTK__) + TOOLKIT=GTK + TOOLKIT_DEF=__WXGTK__ + MAKEINCLUDE=../gtk.inc +fi + +if test "$USE_QT" = 1; then + AC_MSG_CHECKING(for Qt includes) + AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qt.h) + if test "$ac_find_includes" != "" ; then + AC_MSG_RESULT(found $ac_find_includes) + AC_MSG_CHECKING(for Qt library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Qt) + if test "$ac_find_libraries" != "" ; then + AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" + CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" + AC_MSG_RESULT(found Qt at $ac_find_libraries) + else + AC_MSG_ERROR(no) + fi + else + AC_MSG_ERROR(no) + fi + GUI_TK_LINK=-lXext -lX11 -lqt -lm + AC_DEFINE(__WXQT__) + TOOLKIT=QT + TOOLKIT_DEF=__WXQT__ + MAKEINCLUDE=../qt.inc +fi + +if test "$USE_MOTIF" = 1; then + AC_MSG_CHECKING(for Motif/Lesstif includes) + AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qt.h) + if test "$ac_find_includes" != "" ; then + AC_MSG_RESULT(found $ac_find_includes) + AC_MSG_CHECKING(for Motif/Lesstif library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm) + if test "$ac_find_libraries" != "" ; then + AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" + CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" + AC_MSG_RESULT(found Motif/Lesstif at $ac_find_libraries) + else + AC_MSG_ERROR(no) + fi + else + AC_MSG_ERROR(no) + fi + GUI_TK_LINK=-lXext -lX11 -lXm -lm + AC_DEFINE(__WXMOTIF__) + TOOLKIT=MOTIF + TOOLKIT_DEF=__WXMOTIF__ + MAKEINCLUDE=../motif.inc +fi + +if test "$TOOLKIT" = ""; then + AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif) +fi + +AC_SUBST(GUI_TK_INCLUDE) +AC_SUBST(GUI_TK_LIBRARY) +AC_SUBST(GUI_TK_LINK) + +AC_SUBST(TOOLKIT) +AC_SUBST(TOOLKIT_DEF) + +AC_SUBST(MAKEINCLUDE) + +dnl ---------------------------------------------------------------- +dnl register changes for Makefiles (via substit) and setup.h +dnl ---------------------------------------------------------------- + +ZLIB=NONE +if test "$USE_ZLIB" = 1 ; then + ZLIB="ZLIB" +fi + +GDK_IMLIB=NONE +if test "$USE_GDK_IMLIB" = 1 ; then + GDK_IMLIB="GDK_IMLIB" +fi + +LIBPNG=NONE +if test "$USE_LIBPNG" = 1 ; then + LIBPNG="LIBPNG" +fi + +ODBC=NONE +if test "$USE_ODBC" = 1 ; then + ODBC="ODBC" +fi + +APPLE_IEEE=NONE +if test "$USE_APPLE_IEEE" = 1 ; then + APPLE_IEEE="APPLE_IEEE" + AC_DEFINE_UNQUOTED(USE_APPLE_IEEE,$USE_APPLE_IEEE) +fi + +STORABLE=NONE +if test "$USE_STORABLE_CLASSES" = 1 ; then + STORABLE="STORABLE" + AC_DEFINE_UNQUOTED(USE_STORABLE_CLASSES,$USE_STORABLE_CLASSES) +fi + +AUTOTRANS=NONE +if test "$USE_AUTOTRANS" = 1 ; then + AUTOTRANS="AUTOTRANS" + AC_DEFINE_UNQUOTED(USE_AUTOTRANS,$USE_AUTOTRANS) +fi + +WXDEBUG= +if test "$USE_DEBUG_INFO" = 1 ; then + WXDEBUG="-g -O0" +fi +AC_SUBST(WXDEBUG) + +if test "$USE_DEBUG_FLAG" = 1 ; then + AC_DEFINE_UNQUOTED(WXDEBUG,$USE_DEBUG_FLAG) + WXDEBUG_DEFINE="-D__WXDEBUG__" + AC_SUBST(WXDEBUG_DEFINE) +fi + +if test "$USE_MEM_TRACING" = 1 ; then + AC_DEFINE_UNQUOTED(USE_MEMORY_TRACING,$USE_MEM_TRACING) + dnl AC_DEFINE_UNQUOTED(USE_GLOBAL_MEMORY_OPERATORS,$USE_MEM_TRACING) +fi + +PROFILE= +if test "$USE_PROFILE" = 1 ; then + PROFILE="-pg" +fi +AC_SUBST(PROFILE) + +CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" ` +CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" ` +if test "$USE_OPTIMISE" = 0 ; then + OPTIMISE= +else + if test "$GCC" = yes ; then + OPTIMISE="-O2" + case "${canonical}" in + i586-*-*|i686-*-* ) + OPTIMISE="${OPTIMISE} " + ;; + esac + else + OPTIMISE="-O" + fi +fi +AC_SUBST(OPTIMISE) + +USE_IOSTREAMH=$DEFAULT_USE_IOSTREAMH +AC_DEFINE_UNQUOTED(USE_IOSTREAMH,$USE_IOSTREAMH) + +RPC=NONE +if test "$USE_RPC" = 1 ; then + RPC="RPC" + AC_DEFINE_UNQUOTED(USE_RPC,$USE_RPC) +fi +AC_SUBST(RPC) + +WXRESOURCES=NONE +if test "$USE_WX_RESOURCES" = 1 ; then + WXRESOURCES="WXRESOURCES" + AC_DEFINE_UNQUOTED(USE_WX_RESOURCES,$USE_WX_RESOURCES) +fi +AC_SUBST(WXRESOURCES) + +PROLOGIO=NONE +PROLOGIOSRC=NONE +if test "$USE_PROLOGIO" = 1 ; then + PROLOGIO="PROLOGIO" + PROLOGIOSRC="PROLOGIOSRC" + AC_DEFINE_UNQUOTED(USE_PROLOGIO) +fi +AC_SUBST(PROLOGIO) +AC_SUBST(PROLOGIOSRC) + +POSTSCRIPTDC=NONE +if test "$USE_POSTSCRIPT" = 1 ; then + POSTSCRIPTDC="POSTSCRIPTDC" + AC_DEFINE_UNQUOTED(USE_POSTSCRIPT) +fi +AC_SUBST(POSTSCRIPTDC) + +if test "$USE_WXCONFIG" = 1 ; then + AC_DEFINE_UNQUOTED(USE_WXCONFIG,$USE_WXCONFIG) +fi + +METAFILE=NONE +if test "$USE_METAFILE" = 1 ; then + METAFILE="METAFILE" + AC_DEFINE_UNQUOTED(USE_METAFILE,$USE_METAFILE) +fi +AC_SUBST(METAFILE) + +FORM=NONE +if test "$USE_FORM" = 1 ; then + FORM="FORM" + AC_DEFINE_UNQUOTED(USE_FORM,$USE_FORM) +fi +AC_SUBST(FORM) + +HELP=NONE +if test "$USE_HELP" = 1 ; then + HELP="HELP" + AC_DEFINE_UNQUOTED(USE_HELP,$USE_HELP) +fi +AC_SUBST(HELP) + +IPC=NONE +if test "$USE_IPC" = 1 ; then + IPC="IPC" + AC_DEFINE_UNQUOTED(USE_IPC) +fi +AC_SUBST(IPC) + +ENHDIALOGBOX=NONE +if test "$USE_ENHANCED_DIALOG" = 1 ; then + ENHDIALOGBOX="ENHDIALOGBOX" + AC_DEFINE_UNQUOTED(USE_ENHANCED_DIALOG,$USE_ENHANCED_DIALOG) +fi +AC_SUBST(ENHDIALOGBOX) + +XRESOURCES=NONE +if test "$USE_RESOURCES" = 1 ; then + XRESOURCES="XRESOURCES" + AC_DEFINE_UNQUOTED(USE_RESOURCES,$USE_RESOURCES) +fi +AC_SUBST(XRESOURCES) + +CLIPBOARD=NONE +if test "$USE_CLIPBOARD" = 1 ; then + CLIPBOARD="CLIPBOARD" + AC_DEFINE_UNQUOTED(USE_CLIPBOARD,$USE_CLIPBOARD) +fi +AC_SUBST(CLIPBOARD) + +CONSTRAINTS=NONE +if test "$USE_CONSTRAINTS" = 1 ; then + CONSTRAINTS="CONSTRAINTS" + AC_DEFINE_UNQUOTED(USE_CONSTRAINTS,$USE_CONSTRAINTS) +fi +AC_SUBST(CONSTRAINTS) + +TIMEDATE=NONE +if test "$USE_TIMEDATE" = 1 ; then + TIMEDATE="TIMEDATE" + AC_DEFINE_UNQUOTED(USE_TIMEDATE,$USE_TIMEDATE) +fi +AC_SUBST(TIMEDATE) + +FRACTION=NONE +if test "$USE_FRACTION" = 1 ; then + FRACTION="FRACTION" + AC_DEFINE_UNQUOTED(USE_FRACTION,$USE_FRACTION) +fi +AC_SUBST(FRACTION) + +TOOLBAR=NONE +if test "$USE_TOOLBAR" = 1 ; then + TOOLBAR="TOOLBAR" + AC_DEFINE_UNQUOTED(USE_TOOLBAR,$USE_TOOLBAR) + AC_DEFINE_UNQUOTED(USE_XT_TOOLBAR,$USE_XT_TOOLBAR) +fi +AC_SUBST(TOOLBAR) + +GAUGE=NONE +if test "$USE_GAUGE" = 1 ; then + GAUGE="GAUGE" + AC_SUBST(GAUGE) + AC_DEFINE_UNQUOTED(USE_GAUGE,$USE_GAUGE) +fi + +VIRLISTBOX=NONE +if test "$USE_VLBOX" = 1 ; then + VIRTLISTBOX="VIRLISTBOX" + AC_DEFINE_UNQUOTED(USE_VIRLISTBOX,$USE_VIRLISTBOX) +fi +AC_SUBST(VIRLISTBOX) + +SCROLLBAR=NONE +if test "$USE_SCROLLBAR" = 1 ; then + SCROLLBAR="SCROLLBAR" + AC_DEFINE_UNQUOTED(USE_SCROLLBAR,$USE_SCROLLBAR) +fi +AC_SUBST(SCROLLBAR) + +DOCVIEW=NONE +if test "$USE_DOC_VIEW_ARCHITECTURE" = 1 ; then + DOCVIEW="DOCVIEW" + AC_DEFINE_UNQUOTED(USE_DOC_VIEW_ARCHITECTURE,$USE_DOC_VIEW_ARCHITECTURE) +fi +AC_SUBST(DOCVIEW) + +PRINTPREVIEW=NONE +if test "$USE_PRINTING_ARCHITECTURE" = 1 ; then + PRINTPREVIEW="PRINTPREVIEW" + AC_DEFINE_UNQUOTED(USE_PRINTING_ARCHITECTURE,$USE_PRINTING_ARCHITECTURE) +fi +AC_SUBST(PRINTPREVIEW) + +TYPETREE=NONE +if test "$USE_TYPETREE" = 1 ; then + TYPETREE="TYPETREE" + AC_DEFINE_UNQUOTED(USE_TYPETREE,$USE_TYPETREE) +fi +AC_SUBST(TYPETREE) + +WXGRAPH=NONE +if test "$USE_WXGRAPH" = 1 ; then + WXGRAPH="WXGRAPH" + AC_DEFINE_UNQUOTED(USE_WXGRAPH,$USE_WXGRAPH) +fi +AC_SUBST(WXGRAPH) + +WXTREE=NONE +if test "$USE_WXTREE" = 1 ; then + WXTREE="WXTREE" + AC_DEFINE_UNQUOTED(USE_WXTREE,$USE_WXTREE) +fi +AC_SUBST(WXTREE) + +GLCANVAS=NONE +if test "$USE_OPENGL" = 1 ; then + GLCANVAS="GLCANVAS" +fi + +AC_DEFINE_UNQUOTED(USE_AFM_FOR_POSTSCRIPT,$USE_AFM_FOR_POSTSCRIPT) + +AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS) + +dnl ---------------------------------------------------------------- +dnl select dynamic loader (used by iODBC to load drivers) +dnl ---------------------------------------------------------------- + +DL_LIBRARY=-ldl + +AC_SUBST(DL_LIBRARY) + +dnl ---------------------------------------------------------------- +dnl thread support +dnl ---------------------------------------------------------------- + +USE_THREADS=1 +THREADS_LINK="" +UNIX_THREAD="" + +AC_ARG_WITH(threads, +[ --without-threads Force disabling threads ], +[USE_THREADS="$withval"]) + +if test "$USE_THREADS" = "1"; then + UNIX_THREAD="gtk/threadno.cpp" + + dnl For glibc 2 users who have the old libc 5 too + + AC_CHECK_LIB(pthread-0.7, pthread_create, [ + UNIX_THREAD="gtk/threadpsx.cpp" + THREADS_LINK="-lpthread-0.7" + AC_DEFINE(USE_THREADS) + ],[ + AC_CHECK_LIB(pthread, pthread_create, [ + UNIX_THREAD="gtk/threadpsx.cpp" + THREADS_LINK="-lpthread" + AC_DEFINE(USE_THREADS) + ]) + ]) + AC_CHECK_LIB(pthreads, pthread_create, [ + UNIX_THREAD="gtk/threadpsx.cpp" + THREADS_LINK="-lpthreads" + AC_DEFINE(USE_THREADS) + ]) + AC_CHECK_HEADER(sys/prctl.h, [ + UNIX_THREAD="gtk/threadsgi.cpp" + AC_DEFINE(USE_THREADS) + ]) +fi + +AC_SUBST(UNIX_THREAD) +AC_SUBST(THREADS_LINK) + +dnl defines UNIX_THREAD it contains the source file to use for threads. (GL) +dnl defines THREADS_LINK it contains the thread library to link with. (GL) +dnl defines USE_THREADS if thread support is activated. (GL) + +dnl ---------------------------------------------------------------- +dnl search for opengl +dnl ---------------------------------------------------------------- + +OPENGL_INCLUDE= +OPENGL_LIBRARY= +OPENGL_LINK= + +if test "$USE_OPENGL" = 1; then + dnl checking OPENGL includes + AC_MSG_CHECKING(for OpenGL includes) + AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,GL/gl.h) + if test "$ac_find_includes" != "" ; then + OPENGL_INCLUDE="-I$ac_find_includes" + AC_MSG_RESULT(found $ac_find_includes) + dnl checking OPENGL libraries + AC_MSG_CHECKING(for OpenGL library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,GL) + if test "$ac_find_libraries" != "" ; then + AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" + CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" + OPENGL_LIBRARY="$ac_path_to_link" + OPENGL_INCLUDE="$ac_path_to_include" + OPENGL_LINK="-lGL" + AC_MSG_RESULT(found OpenGL at $ac_find_libraries) + else + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL) + if test "$ac_find_libraries" != "" ; then + AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" + CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" + OPENGL_LIBRARY="$ac_path_to_link" + OPENGL_INCLUDE="$ac_path_to_include" + OPENGL_LINK="-lMesaGL" + AC_MSG_RESULT(found MESA at $ac_find_libraries) + else + AC_MSG_ERROR(no) + fi + fi + else + AC_MSG_ERROR(no) + fi +fi + +dnl ---------------------------------------------------------------- +dnl search for gdk_imlib +dnl ---------------------------------------------------------------- +dnl +dnl GDK_IMLIB_INCLUDE= +dnl GDK_IMLIB_LIBRARY= +dnl GDK_IMLIB_LINK= +dnl + if test "$USE_GDK_IMLIB" = 1; then +dnl AC_MSG_CHECKING(for gdk_imlib includes) +dnl AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,gdk_imlib.h) +dnl if test "$ac_find_includes" != "" ; then +dnl dnl GDK_IMLIB_INCLUDE="-I$ac_find_includes" +dnl AC_MSG_RESULT(found $ac_find_includes) +dnl AC_MSG_CHECKING(for gdk_imlib library) +dnl AC_PATH_FIND_LIBRARIES($SEARCH_LIB,gdk_imlib) +dnl if test "$ac_find_libraries" != "" ; then +dnl AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) +dnl AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) +dnl CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" +dnl CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" +dnl GDK_IMLIB_LIBRARY="$ac_path_to_link" +dnl GDK_IMLIB_INCLUDE="$ac_path_to_include" +dnl GDK_IMLIB_LINK="-lgdk_imlib" +dnl AC_MSG_RESULT(found gdk_imlib at $ac_find_libraries) +dnl else +dnl AC_MSG_ERROR(no) +dnl fi +dnl else +dnl AC_MSG_ERROR(no) +dnl fi + AC_DEFINE_UNQUOTED(USE_GDK_IMLIB,$USE_GDK_IMLIB) + fi +dnl AC_SUBST(GDK_IMLIB_INCLUDE) +dnl AC_SUBST(GDK_IMLIB_LIBRARY) +dnl AC_SUBST(GDK_IMLIB_LINK) + +dnl ---------------------------------------------------------------- +dnl search for zlib +dnl ---------------------------------------------------------------- +dnl +dnl ZLIB_INCLUDE= +dnl ZLIB_LINK= +dnl + if test "$USE_ZLIB" = 1; then +dnl AC_MSG_CHECKING(for zlib includes) +dnl AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,zlib.h) +dnl if test "$ac_find_includes" != "" ; then +dnl AC_MSG_RESULT(found $ac_find_includes) +dnl AC_MSG_CHECKING(for zlib library) +dnl AC_PATH_FIND_LIBRARIES($SEARCH_LIB,z) +dnl if test "$ac_find_libraries" != "" ; then +dnl AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) +dnl AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) +dnl CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" +dnl CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" +dnl ZLIB_INCLUDE="$ac_path_to_include" +dnl ZLIB_LINK="-lz" +dnl AC_MSG_RESULT(found zlib at $ac_find_libraries) +dnl else +dnl AC_MSG_ERROR(no) +dnl fi +dnl else +dnl AC_MSG_ERROR(no) +dnl fi + AC_DEFINE_UNQUOTED(USE_ZLIB,$USE_ZLIB) + fi +dnl AC_SUBST(ZLIB_INCLUDE) +dnl AC_SUBST(ZLIB_LIBRARY) +dnl AC_SUBST(ZLIB_LINK) + +dnl ---------------------------------------------------------------- +dnl search for libpng +dnl ---------------------------------------------------------------- +dnl +dnl LIBPNG_INCLUDE= +dnl LIBPNG_LIBRARY= +dnl LIBPNG_LINK= +dnl + if test "$USE_LIBPNG" = 1; then +dnl AC_MSG_CHECKING(for libpng includes) +dnl AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,png.h) +dnl if test "$ac_find_includes" != "" ; then +dnl AC_MSG_RESULT(found $ac_find_includes) +dnl AC_MSG_CHECKING(for libpng library) +dnl AC_PATH_FIND_LIBRARIES($SEARCH_LIB,png) +dnl if test "$ac_find_libraries" != "" ; then +dnl AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) +dnl AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) +dnl CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" +dnl CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" +dnl LIBPNG_LIBRARY="$ac_path_to_link" +dnl LIBPNG_INCLUDE="$ac_path_to_include" +dnl LIBPNG_LINK="-lpng" +dnl AC_MSG_RESULT(found libpng at $ac_find_libraries) +dnl else +dnl AC_MSG_RESULT(no) +dnl fi +dnl else +dnl AC_MSG_ERROR(no) +dnl fi + AC_DEFINE_UNQUOTED(USE_LIBPNG,$USE_LIBPNG) + fi +dnl AC_SUBST(LIBPNG_INCLUDE) +dnl AC_SUBST(LIBPNG_LIBRARY) +dnl AC_SUBST(LIBPNG_LINK) + +dnl ---------------------------------------------------------------- +dnl search for iODBC +dnl ---------------------------------------------------------------- +dnl + if test "$USE_ODBC" = 1; then + AC_DEFINE_UNQUOTED(USE_ODBC,$USE_ODBC) + fi + +dnl ---------------------------------------------------------------- +dnl search for Python +dnl ---------------------------------------------------------------- + +dnl ---------------------------------------------------------------- +dnl left-over +dnl ---------------------------------------------------------------- + +USE_GLX=$USE_OPENGL +if test "$USE_OPENGL" != 1; then + OPENGL_LIBRARIES= + OPENGL_INCLUDE= + OPENGL_LINK= + GLCANVAS=NONE +fi + +AC_DEFINE_UNQUOTED(USE_GLX,$USE_GLX) +AC_SUBST(OPENGL_INCLUDE) +AC_SUBST(OPENGL_LIBRARY) +AC_SUBST(OPENGL_LINK) +AC_SUBST(GLCANVAS) + +dnl ------------------------------------------------------------------------ +dnl compiler options for shared libs +dnl ------------------------------------------------------------------------ + +PICFLAGS= +CREATE_SHARED= +case "${canonical}" in + + *-hp-hpux* ) + if test "${CC}" != "gcc" ; then + CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE" + CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE" + PICFLAGS="+z" + else + PICFLAGS="-fPIC" + fi + LDFLAGS="-Wl,+s" + CREATE_SHARED=sharedHpux + ;; + + *-*-linux* ) + PICFLAGS=-fPIC + CREATE_SHARED=sharedLinux + ;; + + *-*-irix5* | *-*-irix6* ) + # PICFLAGS can remain empty, as pic is the default + LDFLAGS="-Wl,+s" + CREATE_SHARED=sharedIrix + AC_DEFINE(SVR4) + ;; + + *-*-solaris2* ) + if test "${CC}" != "gcc" ; then + PICFLAGS="-KPIC" + else + PICFLAGS="-fPIC" + fi + CREATE_SHARED=sharedSolaris2 + AC_DEFINE(SVR4) + ;; + + *-*-sunos4* ) + if test "${CC}" != "gcc" ; then + PICFLAGS="-PIC" + else + PICFLAGS="-fPIC" + fi + LDFLAGS="-Wl,+s" + CREATE_SHARED=sharedSunos4 + AC_DEFINE(BSD) + ;; + + *-*-freebsd* | *-*-netbsd*) + PICFLAGS=-fPIC + CREATE_SHARED=sharedBsd + AC_DEFINE(BSD) + ;; + + *-*-osf* ) + PICFLAGS="-fPIC" + CREATE_SHARED=sharedOSF + ;; + + *-*-dgux5* ) + if test "${CC}" != "gcc" ; then + PICFLAGS="-K PIC" + else + PICFLAGS="-fPIC" + fi + CREATE_SHARED=sharedDgux + AC_DEFINE(SVR4) + ;; + + *-*-sysv5* ) + if test "${CC}" != "gcc" ; then + PICFLAGS="-K PIC" + else + PICFLAGS="-fPIC" + fi + CREATE_SHARED=sharedSysV + AC_DEFINE(SVR4) + ;; + + *-*-aix* ) + if test "${CC}" != "gcc" ; then + PICFLAGS="-bM\:SRE" + else + PICFLAGS="-fPIC" + fi + CREATE_SHARED=sharedAIX + AC_DEFINE(SYSV) + ;; + + *) + CREATE_SHARED= + PICFLAGS= +esac + +if test "x$GCC" = xyes; then + CFLAGS="${CFLAGS} -Wall" +fi + +if test "x$GXX" = xyes; then + CXXFLAGS="${CXXFLAGS} -Wall" +fi + +if test "$USE_SHARED" != 1; then + CREATE_SHARED= + PICFLAGS= +fi + +AC_SUBST(OS) +AC_SUBST(PICFLAGS) +AC_SUBST(CREATE_SHARED) + +dnl ------------------------------------------------------------------------ +dnl finish and clean-up +dnl ------------------------------------------------------------------------ + +dnl add OS to list of configured +echo $OS >> system.list +echo $OS >> ../../system.list + +AC_CONFIG_HEADER(./setup/setup.h:./setup/setup.hin) +AC_OUTPUT(./setup/substit,) + +AC_OVERRIDES_DONE diff --git a/install/unix/install-sh b/install/unix/install-sh new file mode 100755 index 0000000000..ebc66913e9 --- /dev/null +++ b/install/unix/install-sh @@ -0,0 +1,250 @@ +#! /bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/install/unix/setup/general/createall b/install/unix/setup/general/createall new file mode 100755 index 0000000000..8dbb300f70 --- /dev/null +++ b/install/unix/setup/general/createall @@ -0,0 +1,98 @@ +#! /bin/sh + +OS=$OSTYPE + +if test "x$OS" = x; then + echo "please set the environment variable OSTYPE " + echo "to a value appropriate for your system." + echo "to do so type: setenv OSTYPE `uname` for the csh, tcsh" + echo " export OSTYPE=`uname` for other shells" + exit 1 +fi + +TMP_CONT=`ls src` +SRC_DIR=src +for each in $TMP_CONT; do + if test -d src/$each ; then + SRC_DIR="$SRC_DIR src/$each" + fi +done + +TMP_CONT=`ls samples` +SAMPLES_DIR= +for each in $TMP_CONT; do + if test -d samples/$each ; then + SAMPLES_DIR="$SAMPLES_DIR samples/$each" + fi +done + +TMP_CONT=`ls utils` +UTILS_DIR= +for each in $TMP_CONT; do + if test -d utils/$each ; then + UTILS_DIR="$UTILS_DIR utils/$each" + fi +done + +TMP_CONT=`ls user` +USER_DIR= +for each in $TMP_CONT; do + if test -d user/$each ; then + USER_DIR="$USER_DIR user/$each" + fi +done + +ALL_DIR="$SRC_DIR $SAMPLES_DIR $UTILS_DIR $USER_DIR" + +echo Creating for: $OS + +# create defaults +if test ! -d install/unix/setup/$OS; then + mkdir install/unix/setup/$OS +fi + +SUBSTFILE=install/unix/setup/$OS/substit + +# the substit file first +if test -f install/unix/setup/substit ; then + cat install/unix/setup/substit | sed "s/*/@/g" > $SUBSTFILE; + rm -f install/unix/setup/substit +fi +# now the template file +cat install/unix/setup/maketmpl.in | sed -f $SUBSTFILE > install/unix/setup/$OS/maketmpl + +# now the config header file +#if test -f setup/wx_setup.h ; then +# cat setup/wx_setup.h > setup/$OS/wx_setup.h; +# rm -f setup/wx_setup.h +#fi + +# create lib and bin directory +if test ! -d lib; then + mkdir lib +fi +if test ! -d lib/$OS; then + mkdir lib/$OS +fi +if test ! -d bin; then + mkdir bin +fi +if test ! -d bin/$OS; then + mkdir bin/$OS +fi + +# create makefiles +for each in $ALL_DIR; do + DIR=$each/$OS + # create Makefile in directory + if test -r $each/Makefile.in ; then + # create directory + if test ! -d $DIR; then + echo "Creating Directory: $DIR..." + mkdir $DIR + fi + echo "Creating: $DIR/Makefile..." + cat $each/Makefile.in | sed -f $SUBSTFILE > $DIR/Makefile + (cd $DIR; make subdirs > /dev/null;) + fi +done diff --git a/install/unix/setup/general/jointar b/install/unix/setup/general/jointar new file mode 100755 index 0000000000..29949e1cf3 --- /dev/null +++ b/install/unix/setup/general/jointar @@ -0,0 +1,67 @@ +#! /bin/sh +# +# Written by Martin Sperl +# (sperl@dsn.ast.univie.ac.at) +# + + +if test $# -lt 3 ; then + cat < + copies all files from the source-tar-files to the common + destination-tar-file with basedir as a common base directory. +EOF + exit 0 +fi + +BaseDir="$1" +shift + +Sourcefiles="$1" + +while test "$#" != 2 ; do + shift + Sourcefiles="$Sourcefiles $1" +done + +shift +Final=$1 + +Destination=/tmp/join$$.tar + +touch $Destination + +curdir=`pwd` + +mkdir tmp$$ +mkdir tmp$$/$BaseDir + +#uncompress all files +cd tmp$$/$BaseDir +for each in $Sourcefiles ; do + ( \ + if test `basename $each gz` != `basename $each` ; then \ + gzip -dc ../../$each;\ + else \ + cat ../../$each;\ + fi; \ + ) | tar xf - +done +cd .. +#now tar everything +tar -cf $Destination * + +cd .. + +rm -fr tmp$$ + +# goto old directory +cd $curdir + +if test `basename $Final gz` != `basename $Final` ; then + gzip -c $Destination > $Final +else + cat $Destination > $Final +fi + +rm -f $Destination diff --git a/install/unix/setup/general/makeapp b/install/unix/setup/general/makeapp new file mode 100644 index 0000000000..a413749e5f --- /dev/null +++ b/install/unix/setup/general/makeapp @@ -0,0 +1,73 @@ +SHELL=/bin/sh + +OS=$(OSTYPE) + +all:: + -@if test "x$(OS)" = x; then \ + echo "please set the environment variable OSTYPE ";\ + echo "to a value appropriate for your system.";\ + echo "to do so type: setenv OSTYPE `uname` for the csh, tcsh";\ + echo " export OSTYPE=`uname` for other shells";\ + else \ + if test -f Makefile.in ; then \ + if test -f $(OS)/Makefile ; then \ + NEEDED=`(cd $(OS); ${MAKE} checkneeds;) | grep "needed to compile" `;\ + if test "x$$NEEDED" = x; then \ + (cd $(OS); ${MAKE} $@); \ + else \ + (cd $(OS); ${MAKE} checkneeds); \ + fi ; \ + else \ + echo "Did you configure your system?";\ + fi; \ + fi; \ + fi; + +distrib:: + @if test ! -d ../../distrib ; then mkdir ../../distrib; fi; + @if test ! -f ../../system.list ; then \ + echo "dummy" > ../../system.list;\ + fi + @(curr=`pwd`; direc=`basename $$curr`;\ + basedir=`dirname $$curr`;\ + basedirname=`basename $$basedir`;\ + if test ! -d ../../distrib/$$basedirname ; then \ + mkdir ../../distrib/$$basedirname;\ + fi;\ + if test -d doc; then (cd doc; make clean;); fi;\ + (cd ..; \ + echo creating $$direc.tar from the current directory;\ + files="`\ + find $$direc -type f \ + | fgrep -vf ../system.list \ + | grep -v "~" \ + | grep -v "#" \ + ` $(DISTRIBUTE_ADDITIONAL)";\ + tar -cf /tmp/$$direc.tar $$files;\ + echo compressing $$direc.tar to $$direc.tgz;\ + gzip -c /tmp/$$direc.tar > ../distrib/$$basedirname/$$direc.tgz;\ + rm /tmp/$$direc.tar;\ + )\ + ) + +.DEFAULT: + -@if test "x$(OS)" = x; then \ + echo "please set the environment variable OSTYPE ";\ + echo "to a value appropriate for your system.";\ + echo "to do so type: setenv OSTYPE `uname` for the csh, tcsh";\ + echo " export OSTYPE=`uname` for other shells";\ + else \ + if test -f Makefile.in ; then \ + if test -f $(OS)/Makefile ; then \ + NEEDED=`(cd $(OS); ${MAKE} checkneeds) | grep "needed to compile" `;\ + if test "x$$NEEDED" = x; then \ + (cd $(OS); ${MAKE} $@); \ + else \ + (cd $(OS); ${MAKE} checkneeds); \ + fi ; \ + else \ + echo "Did you configure your system?";\ + fi \ + fi \ + fi + diff --git a/install/unix/setup/general/makedirs b/install/unix/setup/general/makedirs new file mode 100644 index 0000000000..0e770242f1 --- /dev/null +++ b/install/unix/setup/general/makedirs @@ -0,0 +1,19 @@ +SHELL=/bin/sh + +DIRS=`find . -print | sed "s|\./||g" | grep -v "/" | grep -v "\." ` + +all: + @for i in $(DIRS) xxx; do \ + if test -r $$i/Makefile ; then \ + echo "entering directory $$i building $@";\ + (cd $$i ; ${MAKE} $@); \ + fi; \ + done + +.DEFAULT: + @for i in $(DIRS) xxx; do \ + if test -r $$i/Makefile ; then \ + echo "entering directory $$i building $@";\ + (cd $$i ; ${MAKE} $@); \ + fi; \ + done diff --git a/install/unix/setup/general/makedoc b/install/unix/setup/general/makedoc new file mode 100644 index 0000000000..ca0ef855e5 --- /dev/null +++ b/install/unix/setup/general/makedoc @@ -0,0 +1,102 @@ +SHELL=/bin/sh + +FILE_BASE=$(TEX_BASE:.tex=) + +BMP_FILES=$(XPM_FILES:.xpm=.bmp) +EPS_FILES=$(XPM_FILES:.xpm=.eps) +GIF_FILES=$(XPM_FILES:.xpm=.gif) + +HTML_BUTTONS=back.gif forward.gif contents.gif up.gif + +all:: doc + +clean:: + @ for each in $(DIRS) . ; do \ + ( cd $$each; \ + rm -f *.bmp *.eps *.gif *.aux *.dvi *.log \ + *.ps *.toc *~ *.idx *.hlp *.html \ + *.rtf *.ref *.xlp *.con *.win *.fts \ + *.hpj *.HLP; \ + ); done + +doc:: doc_ps doc_html doc_xlp doc_winhelp doc_rtf + +############################################# + +doc_ps:: $(FILE_BASE).ps + +$(FILE_BASE).ps: $(FILE_BASE).dvi + dvips $(FILE_BASE).dvi -o$@ + +############################################# + +doc_dvi:: $(FILE_BASE).dvi + +$(FILE_BASE).dvi: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(EPS_FILES) + latex $(FILE_BASE).tex + latex $(FILE_BASE).tex + +############################################# + +doc_xlp:: $(FILE_BASE).xlp + +$(FILE_BASE).xlp: $(FILE_BASE).tex $(TEX_ADDITIONAL) + ../../../bin/$(OSTYPE)/tex2rtf $(FILE_BASE).tex $(FILE_BASE).xlp -twice -xlp + +############################################# + +doc_html:: $(FILE_BASE)_contents.html $(FILE_BASE).html + +$(FILE_BASE).html: + @ln -s $(FILE_BASE)_contents.html $@ + +$(FILE_BASE)_contents.html: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(GIF_FILES) $(HTML_BUTTONS) + ../../../bin/$(OSTYPE)/tex2rtf $(FILE_BASE).tex $(FILE_BASE) -twice -html + +############################################# + +doc_rtf:: $(FILE_BASE).rtf + +$(FILE_BASE).rtf: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(BMP_FILES) + ../../../bin/$(OSTYPE)/tex2rtf $(FILE_BASE).tex $(FILE_BASE).rtf -twice -rtf + +############################################# + +doc_winhelp:: $(FILE_BASE).win + +$(FILE_BASE).win: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(BMP_FILES) + ../../../bin/$(OSTYPE)/tex2rtf $(FILE_BASE).tex $(FILE_BASE).win -twice -winhelp + @echo final conversion still needs to be done by MSWin + +############################################# + +subst:: + @if test "x$(OLD)" = x; then \ + echo "OLD not defined!"; exit -1; \ + fi + @if test "x$(NEW)" = x; then \ + echo "NEW not defined!"; exit -1; \ + fi + @for each in $(TEX_BASE) $(TEX_ADITIONAL) ; do \ + cat $$each | sed "s/$(OLD)/$(NEW)/g" > /tmp/subst; \ + rm $$each; cp /tmp/subst $$each; rm /tmp/subst; \ + done + +############################################# + +.SUFFIXES: +.SUFFIXES: .eps .xpm +.SUFFIXES: .bmp .xpm +.SUFFIXES: .gif .xpm + +.xpm.eps : + @$(RM) -f $@ + xpmtoppm $< | ppmtogif | giftopnm | pnmtops -rle -center -noturn -scale 0.5 - > $@ + +.xpm.bmp : + @$(RM) -f $@ + xpmtoppm $< | ppmtobmp -windows - > $@ + +.xpm.gif : + @$(RM) -f $@ + xpmtoppm $< | ppmtogif -interlace - > $@ diff --git a/install/unix/setup/general/mygrep b/install/unix/setup/general/mygrep new file mode 100755 index 0000000000..fcf54dcad9 --- /dev/null +++ b/install/unix/setup/general/mygrep @@ -0,0 +1,3 @@ +#! /bin/sh +grep $@ +exit 0 diff --git a/install/unix/setup/general/needed b/install/unix/setup/general/needed new file mode 100755 index 0000000000..286931a793 --- /dev/null +++ b/install/unix/setup/general/needed @@ -0,0 +1,10 @@ +#! /bin/sh + +for each in $@ ; do + LINE=`grep " $each " ../$OSTYPE/wx_setup.h | grep "#define" | grep 1` + if test "x$LINE" = x ; then + echo "$each needed to compile"; + exit 1; + fi +done + diff --git a/install/unix/setup/maketmpl.in b/install/unix/setup/maketmpl.in new file mode 100644 index 0000000000..f259fb1175 --- /dev/null +++ b/install/unix/setup/maketmpl.in @@ -0,0 +1,124 @@ +# Makefile for Autoconf. +# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#### Start of system configuration section. #### + +GLOBAL_LIB_DIR = $(WXBASEDIR)/lib/$(OS) +GLOBAL_BIN_DIR = $(WXBASEDIR)/bin/$(OS) + +# define toolkit to use +TOOLKIT_DEF = -D@TOOLKIT_DEF@ + +# general compiler stuff +OPTIMISE = @OPTIMISE@ +PROFILE = @PROFILE@ +DEBUG = @WXDEBUG@ @WXDEBUG_DEFINE@ + +# c-compiler stuff +CC = @CC@ +CFLAGS = @CFLAGS@ $(OPTIMISE) $(PROFILE) $(DEBUG) +CPP = @CPP@ + +# c++-compiler stuff +CXX = @CXX@ +CXXFLAGS = @CXXFLAGS@ $(OPTIMISE) $(PROFILE) $(DEBUG) +CXXCPP = @CXXCPP@ + +# shared compile stuff +PICFLAGS = @PICFLAGS@ +CREATE_SHARED = @CREATE_SHARED@ + +# other stuff +RM = rm -f +LEX = @LEX@ +LEXLIB = @LEXLIB@ +YACC = @YACC@ +RANLIB = @RANLIB@ +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +AWK = @AWK@ +LN_S = @LN_S@ +CJPEG_PROG = +CONVERT_PATH = /usr/bin/X11 +CONVERT_PROG = /usr/bin/X11/convert +DJPEG_PROG = +GIFTOPNM_PROG = +NETPBM_PATH = + +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +# Directory in which to install scripts. +#bindir = @bindir@ + +# Directory in which to install library files. +datadir = @datadir@ +acdatadir = $(datadir)/autoconf + +# Directory in which to install documentation info files. +infodir = @infodir@ + +X_CFLAGS = @X_CFLAGS@ +X_LIBS = @X_LIBS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ + +GUI_TK_INCLUDE = @GUI_TK_INCLUDE@ +GUI_TK_LIBRARY = @GUI_TK_LIBRARY@ +GUI_TK_LINK = @GUI_TK_LINK@ + +OPENGL_INCLUDE = @OPENGL_INCLUDE@ +OPENGL_LIBRARY = @OPENGL_LIBRARY@ +OPENGL_LINK = @OPENGL_LINK@ + +THREADS_LINK = @THREADS_LINK@ + +# INCLUDES +WX_INCLUDES = \ +$(TOOLKIT_DEF) \ +-I. \ +-I.. \ +-I$(WXBASEDIR)/include \ +-I$(WXBASEDIR)/src/zlib \ +$(GUI_TK_INCLUDE) \ +$(OPENGL_INCLUDE) \ +$(X_CFLAGS) + +# -I$(WXBASEDIR)/src/png \ +# -I$(WXBASEDIR)/src/zlib \ +# -I$(WXBASEDIR)/src/gdk_imlib \ + +WX_LIBS = -L$(GLOBAL_LIB_DIR) -lwx_gtk + +OPENGL_LIBS = $(OPENGL_LIBRARY) $(OPENGL_LINK) + +GUI_TK_LIBS = $(GUI_TK_LIBRARY) $(GUI_TK_LINK) -ldl + +LINK = $(CXX) -o $@ +LINK_LIBS= \ + $(WX_LIBS) \ + $(GUI_TK_LIBS) \ + $(X_EXTRA_LIBS) \ + $(X_PRE_LIBS) \ + $(THREADS_LINK) + +# Don't include $(OPENGL_LIBS) in LINK_LIBS; they +# can be conveniently added to BIN_LINK in Makefile.in. + +#### End of system configuration section. #### diff --git a/install/unix/setup/rules/bin b/install/unix/setup/rules/bin new file mode 100644 index 0000000000..c179a1bbc3 --- /dev/null +++ b/install/unix/setup/rules/bin @@ -0,0 +1,13 @@ +# all that is to do +all:: checkneeds binary +clean:: clean_binary clean_obj + +# now include definite rules +BIN_BASE_DIR=. + +# include rules to create library +include $(RULES_GENERIC)/bin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed diff --git a/install/unix/setup/rules/bin2 b/install/unix/setup/rules/bin2 new file mode 100644 index 0000000000..87c0ad8691 --- /dev/null +++ b/install/unix/setup/rules/bin2 @@ -0,0 +1,14 @@ +# all that is to do +all:: checkneeds binary +clean:: clean_binary clean_obj + +# now include definite rules +BIN_BASE_DIR=. + +# include rules to create library +include $(RULES_GENERIC)/bin2 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/doc b/install/unix/setup/rules/doc new file mode 100644 index 0000000000..78f0f204f9 --- /dev/null +++ b/install/unix/setup/rules/doc @@ -0,0 +1,90 @@ +SHELL=/bin/sh + +FILE_BASE=$(TEX_BASE:.tex=) + +BMP_FILES=$(XPM_FILES:.xpm=.bmp) +EPS_FILES=$(XPM_FILES:.xpm=.eps) +GIF_FILES=$(XPM_FILES:.xpm=.gif) + +TEX2RTF=$(WXBASEDIR)/bin/$(OSTYPE)/tex2rtf + +HTML_BUTTONS=back.gif forward.gif contents.gif up.gif + +all:: doc + +clean:: + @ for each in $(DIRS) . ; do \ + ( cd $$each; \ + rm -f *.bmp *.eps *.gif *.aux *.dvi *.log \ + *.ps *.toc *~ *.idx *.hlp *.html \ + *.rtf *.ref *.xlp *.con *.win *.fts \ + *.hpj *.HLP; \ + ); done + +doc:: doc_ps doc_html doc_xlp doc_winhelp doc_rtf + +############################################# + +doc_ps:: $(FILE_BASE).ps + +$(FILE_BASE).ps: $(FILE_BASE).dvi + dvips $(FILE_BASE).dvi -o$@ + +############################################# + +doc_dvi:: $(FILE_BASE).dvi + +$(FILE_BASE).dvi: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(EPS_FILES) + latex $(FILE_BASE).tex + latex $(FILE_BASE).tex + +############################################# + +doc_xlp:: $(FILE_BASE).xlp + +$(FILE_BASE).xlp: $(FILE_BASE).tex $(TEX_ADDITIONAL) + $(TEX2RTF) $(FILE_BASE).tex $(FILE_BASE).xlp -twice -xlp + +############################################# + +doc_html:: $(FILE_BASE)_contents.html $(FILE_BASE).html + +$(FILE_BASE).html: + @ln -s $(FILE_BASE)_contents.html $@ + +$(FILE_BASE)_contents.html: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(GIF_FILES) $(HTML_BUTTONS) + $(TEX2RTF) $(FILE_BASE).tex $(FILE_BASE) -twice -html + +############################################# + +doc_rtf:: $(FILE_BASE).rtf + +$(FILE_BASE).rtf: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(BMP_FILES) + $(TEX2RTF) $(FILE_BASE).tex $(FILE_BASE).rtf -twice -rtf + +############################################# + +doc_winhelp:: $(FILE_BASE).win + +$(FILE_BASE).win: $(FILE_BASE).tex $(TEX_ADDITIONAL) $(BMP_FILES) + ../../../bin/$(OSTYPE)/tex2rtf $(FILE_BASE).tex $(FILE_BASE).win -twice -winhelp + @echo final conversion still needs to be done by MSWin + +############################################# + +.SUFFIXES: +.SUFFIXES: .eps .xpm +.SUFFIXES: .bmp .xpm +.SUFFIXES: .gif .xpm + +.xpm.eps : + @$(RM) -f $@ + xpmtoppm $< | ppmtogif | giftopnm | pnmtops -rle -center -noturn -scale 0.5 - > $@ + +.xpm.bmp : + @$(RM) -f $@ + xpmtoppm $< | ppmtobmp -windows - > $@ + +.xpm.gif : + @$(RM) -f $@ + xpmtoppm $< | ppmtogif -interlace - > $@ diff --git a/install/unix/setup/rules/gbin b/install/unix/setup/rules/gbin new file mode 100644 index 0000000000..1caea844d5 --- /dev/null +++ b/install/unix/setup/rules/gbin @@ -0,0 +1,14 @@ +# all that is to do +all:: checkneeds binary +clean:: clean_binary clean_obj + +# now include definite rules +BIN_BASE_DIR=$(GLOBAL_BIN_DIR) + +# include rules to create library +include $(RULES_GENERIC)/bin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/gbin2 b/install/unix/setup/rules/gbin2 new file mode 100644 index 0000000000..2d12986436 --- /dev/null +++ b/install/unix/setup/rules/gbin2 @@ -0,0 +1,14 @@ +# all that is to do +all:: checkneeds binary +clean:: clean_binary clean_obj + +# now include definite rules +BIN_BASE_DIR=$(GLOBAL_BIN_DIR) + +# include rules to create library +include $(RULES_GENERIC)/bin2 +# include rules to create objects +include $(RULES_GENERIC)/mkobj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/generic/bin1 b/install/unix/setup/rules/generic/bin1 new file mode 100644 index 0000000000..d4c0bcdc64 --- /dev/null +++ b/install/unix/setup/rules/generic/bin1 @@ -0,0 +1,8 @@ +binary:: binary1 + +depend_binary:: depend_binary1 + +clean_binary:: clean_binary1 + +include $(RULES_GENERIC)/bin1gen + diff --git a/install/unix/setup/rules/generic/bin1gen b/install/unix/setup/rules/generic/bin1gen new file mode 100644 index 0000000000..c11c5a3634 --- /dev/null +++ b/install/unix/setup/rules/generic/bin1gen @@ -0,0 +1,16 @@ +# create binary + +binary1:: $(BIN_BASE_DIR)/$(BIN_TARGET) + +$(BIN_BASE_DIR)/$(BIN_TARGET): $(BIN_OBJ) + @$(RM) -f $@ + $(LINK) $(BIN_OBJ) -L. $(BIN_LINK) $(LINK_LIBS) + +# defining dependencies + +depend_binary1:: + +# cleaning all files + +clean_binary1:: + @$(RM) -f $(BIN_BASE_DIR)/$(BIN_TARGET) diff --git a/install/unix/setup/rules/generic/bin2 b/install/unix/setup/rules/generic/bin2 new file mode 100644 index 0000000000..1394b8d050 --- /dev/null +++ b/install/unix/setup/rules/generic/bin2 @@ -0,0 +1,9 @@ +binary:: binary1 binary2 + +depend_binary:: depend_binary1 depend_binary2 + +clean_binary:: clean_binary1 clean_binary2 + +include $(RULES_GENERIC)/bin1gen +include $(RULES_GENERIC)/bin2gen + diff --git a/install/unix/setup/rules/generic/bin2gen b/install/unix/setup/rules/generic/bin2gen new file mode 100644 index 0000000000..b1ab3c4260 --- /dev/null +++ b/install/unix/setup/rules/generic/bin2gen @@ -0,0 +1,16 @@ +# create binary + +binary2:: $(BIN_BASE_DIR)/$(BIN2_TARGET) + +$(BIN_BASE_DIR)/$(BIN2_TARGET): $(BIN2_OBJ) + @$(RM) -f $@ + $(LINK) $(BIN2_OBJ) -L. $(BIN2_LINK) $(LINK_LIBS) + +# defining dependencies + +depend_binary2:: + +# cleaning all files + +clean_binary2:: + @$(RM) -f $(BIN_BASE_DIR)/$(BIN2_TARGET) diff --git a/install/unix/setup/rules/generic/depend b/install/unix/setup/rules/generic/depend new file mode 100644 index 0000000000..0640db13c3 --- /dev/null +++ b/install/unix/setup/rules/generic/depend @@ -0,0 +1,18 @@ +depend:: + @echo "$(CXX) -MM \ + $(WX_INCLUDES) \ + $(ADD_COMPILE) \ + $(LIB_SRC) $(BIN_SRC) $(BIN2_SRC)" + @(cd .. ;\ + $(CXX) -MM \ + $(WX_INCLUDES) \ + $(ADD_COMPILE) \ + $(LIB_SRC) $(BIN_SRC) $(BIN2_SRC)\ + ) > .depend + @cp Makefile Makefile.bak + @cat Makefile.bak | awk 'BEGIN { found=0;} { if ( $$0 == "# DO NOT DELETE") {found=1} ; { if ( found==0 ) { print $$0; } } }' > Makefile1 + @echo "# DO NOT DELETE" >> Makefile1 + @cat .depend >> Makefile1 + @mv Makefile1 Makefile + @rm .depend + diff --git a/install/unix/setup/rules/generic/globals b/install/unix/setup/rules/generic/globals new file mode 100644 index 0000000000..3b6413a923 --- /dev/null +++ b/install/unix/setup/rules/generic/globals @@ -0,0 +1,15 @@ +# creates subdirectories for object-files in case they are needed... + +subdirs:: + @if test "x$(SRC_DIR)" != x ; then \ + echo -n "Creating necessary subdirs: "; \ + for each in $(SRC_DIR) xxx; do \ + if test "x$$each" != xxxx; then \ + echo -n "$$each "; \ + if test ! -d $$each ; then \ + mkdir $$each ; \ + fi; \ + fi; \ + done; \ + echo "";\ + fi diff --git a/install/unix/setup/rules/generic/lib b/install/unix/setup/rules/generic/lib new file mode 100644 index 0000000000..589acc5822 --- /dev/null +++ b/install/unix/setup/rules/generic/lib @@ -0,0 +1,17 @@ +# create library + +library:: $(LIB_BASE_DIR)/lib$(LIB_TARGET).a + +$(LIB_BASE_DIR)/lib$(LIB_TARGET).a: $(LIB_OBJ) + @$(RM) -f $@ + $(AR) rv $@ $(LIB_OBJ) + +# defining dependencies + +depend_library:: + +# cleaning all files + +clean_library:: + @$(RM) -f $(LIB_BASE_DIR)/lib$(LIB_TARGET).a + diff --git a/install/unix/setup/rules/generic/needed b/install/unix/setup/rules/generic/needed new file mode 100644 index 0000000000..5cd5975729 --- /dev/null +++ b/install/unix/setup/rules/generic/needed @@ -0,0 +1,24 @@ +#SHELL=/bin/sh +MYGREP=$(WXBASEDIR)/setup/general/mygrep +checkneeds:: + @if test "x$(NEEDED_DEFINES)" != x ; then \ + RESULT=0 ; \ + for each in $(NEEDED_DEFINES) xxx; do \ + if test "$$each" != xxx ; then \ + LINE=`cat $(SETUP_DIR)/wx_setup.h \ + | sed "s/ /,/g" \ + | $(MYGREP) ",$$each," \ + | $(MYGREP) "#define" \ + | $(MYGREP) "1" ` ; \ + if test "x$$LINE" = x ; then \ + (TMPVAR=`pwd`;\ + TMPVAR=`dirname $$TMPVAR`;\ + echo "$$each needed to compile "`basename $$TMPVAR`"...";\ + );\ + RESULT=1 ; \ + fi; \ + fi; \ + done ;\ + exit $$RESULT; \ + fi + diff --git a/install/unix/setup/rules/generic/obj b/install/unix/setup/rules/generic/obj new file mode 100644 index 0000000000..92beab8180 --- /dev/null +++ b/install/unix/setup/rules/generic/obj @@ -0,0 +1,30 @@ +.SUFFIXES: +.SUFFIXES: .o .c +.SUFFIXES: .o .cc +.SUFFIXES: .o .cpp + +VPATH= .. + +.c.o : + @$(RM) -f $@ + $(CC) -c -o $@ $(CFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +.cc.o : + @$(RM) -f $@ + $(CXX) -c -o $@ $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +.cpp.o : + @$(RM) -f $@ + $(CXX) -c -o $@ $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +clean_obj:: + @$(RM) *.o *.osh + @if test "x$(SRC_DIR)" != x ; then \ + for each in $(SRC_DIR) xxx; do \ + if test -d $$each ; then \ + $(RM) $$each/*.o $$each/*.osh ; \ + fi; \ + done; \ + fi; + +include $(RULES_GENERIC)/depend diff --git a/install/unix/setup/rules/generic/slib b/install/unix/setup/rules/generic/slib new file mode 100644 index 0000000000..87b331d322 --- /dev/null +++ b/install/unix/setup/rules/generic/slib @@ -0,0 +1,21 @@ +# create library + +library:: $(LIB_BASE_DIR)/lib$(LIB_TARGET).a + +$(LIB_BASE_DIR)/lib$(LIB_TARGET).a: $(LIB_OBJ) + @$(RM) -f $@ $(LIB_BASE_DIR)/lib$(LIB_TARGET).so $(LIB_BASE_DIR)/lib$(LIB_TARGET).so.* + @if test "x$(CREATE_SHARED)" != x; then\ + echo "$(SHARE_DIR)/$(CREATE_SHARED) $(CC) $(LIB_BASE_DIR)/lib$(LIB_TARGET).so $(LIB_MAJOR) $(LIB_MINOR) $(LIB_OBJ)"; \ + $(SHARE_DIR)/$(CREATE_SHARED) $(CC) $(LIB_BASE_DIR)/lib$(LIB_TARGET).so $(LIB_MAJOR) $(LIB_MINOR) $(LIB_OBJ); \ + fi + $(AR) rv $@ $(LIB_OBJ) + +# defining dependencies + +depend_library:: + +# cleaning all files + +clean_library:: + @$(RM) -f $(LIB_BASE_DIR)/lib$(LIB_TARGET).a $(LIB_BASE_DIR)/lib$(LIB_TARGET).so.* $(LIB_BASE_DIR)/lib$(LIB_TARGET).so + diff --git a/install/unix/setup/rules/generic/sobj b/install/unix/setup/rules/generic/sobj new file mode 100644 index 0000000000..b2d7c6aaba --- /dev/null +++ b/install/unix/setup/rules/generic/sobj @@ -0,0 +1,42 @@ +.SUFFIXES: +.SUFFIXES: .o .c +.SUFFIXES: .o .cc +.SUFFIXES: .o .cpp + +VPATH= .. + +.c.o : + @$(RM) -f $@ $@sh + @if test "x$(PICFLAGS)" != x; then \ + echo "$(CC) -c -o $@sh $(PICFLAGS) $(CFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<";\ + $(CC) -c -o $@sh $(PICFLAGS) $(CFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<;\ + fi + $(CC) -c -o $@ $(CFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +.cc.o : + @$(RM) -f $@ $@sh + @if test "x$(PICFLAGS)" != x; then \ + echo "$(CXX) -c -o $@sh $(PICFLAGS) $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<";\ + $(CXX) -c -o $@sh $(PICFLAGS) $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<;\ + fi + $(CXX) -c -o $@ $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +.cpp.o : + @$(RM) -f $@ $@sh + @if test "x$(PICFLAGS)" != x; then \ + echo "$(CXX) -c -o $@sh $(PICFLAGS) $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<";\ + $(CXX) -c -o $@sh $(PICFLAGS) $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $<;\ + fi + $(CXX) -c -o $@ $(CXXFLAGS) -I.. $(WX_INCLUDES) $(ADD_COMPILE) $(WX_DEFINES) $< + +clean_obj:: + @$(RM) *.o *.osh + @if test "x$(SRC_DIR)" != x ; then \ + for each in $(SRC_DIR) xxx; do \ + if test -d $$each ; then \ + $(RM) $$each/*.o $$each/*.osh ; \ + fi; \ + done; \ + fi; + +include $(RULES_GENERIC)/depend diff --git a/install/unix/setup/rules/glib b/install/unix/setup/rules/glib new file mode 100644 index 0000000000..b0e244789c --- /dev/null +++ b/install/unix/setup/rules/glib @@ -0,0 +1,15 @@ +# all that is to do +all:: checkneeds library +clean:: clean_library clean_obj + +# now include definite rules +LIB_BASE_DIR=$(GLOBAL_LIB_DIR) + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + + diff --git a/install/unix/setup/rules/glibbin b/install/unix/setup/rules/glibbin new file mode 100644 index 0000000000..edb0510517 --- /dev/null +++ b/install/unix/setup/rules/glibbin @@ -0,0 +1,17 @@ +# all that is to do +all:: checkneeds library binary +clean:: clean_library clean_obj clean_binary + +# now include definite rules +LIB_BASE_DIR=$(GLOBAL_LIB_DIR) +BIN_BASE_DIR=. + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create binary +include $(RULES_GENERIC)/bin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/glibgbin b/install/unix/setup/rules/glibgbin new file mode 100644 index 0000000000..ee7a4023e3 --- /dev/null +++ b/install/unix/setup/rules/glibgbin @@ -0,0 +1,18 @@ +# all that is to do +all:: checkneeds library binary +depend:: depend_library depend_binary +clean:: clean_library clean_obj clean_binary + +# now include definite rules +LIB_BASE_DIR=$(GLOBAL_LIB_DIR) +BIN_BASE_DIR=$(GLOBAL_BIN_DIR) + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create binary +include $(RULES_GENERIC)/mkbin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/gslib b/install/unix/setup/rules/gslib new file mode 100644 index 0000000000..794a2b0d23 --- /dev/null +++ b/install/unix/setup/rules/gslib @@ -0,0 +1,15 @@ +# all that is to do +all:: checkneeds library +clean:: clean_library clean_obj + +# now include definite rules +LIB_BASE_DIR=$(GLOBAL_LIB_DIR) + +# include rules to create shared library +include $(RULES_GENERIC)/slib +# include rules to create shared objects +include $(RULES_GENERIC)/sobj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + + diff --git a/install/unix/setup/rules/lib b/install/unix/setup/rules/lib new file mode 100644 index 0000000000..7831e41a4a --- /dev/null +++ b/install/unix/setup/rules/lib @@ -0,0 +1,14 @@ +# all that is to do +all:: checkneeds library +clean:: clean_library clean_obj + +# now include definite rules +LIB_BASE_DIR=. + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/libbin b/install/unix/setup/rules/libbin new file mode 100644 index 0000000000..97456c45f2 --- /dev/null +++ b/install/unix/setup/rules/libbin @@ -0,0 +1,17 @@ +# all that is to do +all:: checkneeds library binary +clean:: clean_library clean_obj clean_binary + +# now include definite rules +LIB_BASE_DIR=. +BIN_BASE_DIR=. + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create binary +include $(RULES_GENERIC)/bin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/rules/libgbin b/install/unix/setup/rules/libgbin new file mode 100644 index 0000000000..dc2ab616a9 --- /dev/null +++ b/install/unix/setup/rules/libgbin @@ -0,0 +1,17 @@ +# all that is to do +all:: checkneeds library binary +clean:: clean_library clean_obj clean_binary + +# now include definite rules +LIB_BASE_DIR=. +BIN_BASE_DIR=$(GLOBAL_BIN_DIR) + +# include rules to create library +include $(RULES_GENERIC)/lib +# include rules to create binary +include $(RULES_GENERIC)/mkbin1 +# include rules to create objects +include $(RULES_GENERIC)/obj +# include rule to check for defines needed +include $(RULES_GENERIC)/needed + diff --git a/install/unix/setup/setup.hin b/install/unix/setup/setup.hin new file mode 100644 index 0000000000..442eb7070c --- /dev/null +++ b/install/unix/setup/setup.hin @@ -0,0 +1,543 @@ +/* wx_setup.h + This file is in the public domain. + + Descriptive text for the C preprocessor macros that + the distributed Autoconf macros can define. + No software package will use all of them; autoheader copies the ones + your configure.in uses into your configuration header file templates. + + The entries are in sort -df order: alphabetical, case insensitive, + ignoring punctuation (such as underscores). Although this order + can split up related entries, it makes it easier to check whether + a given entry is in the file. + + Leave the following blank line there!! Autoheader needs it. */ + +#ifndef __GTKSETUPH__ +#define __GTKSETUPH__ + +#ifdef __GNUG__ +#pragma interface +#endif + +/* define the system to compile */ +#undef __WXGTK__ +#undef __UNIX__ +#undef __LINUX__ +#undef __SGI__ +#undef __HPUX__ +#undef __SYSV__ +#undef __SVR4__ +#undef __AIX__ +#undef __SUN__ +#undef __SOLARIS__ +#undef __SUNOS__ +#undef __ALPHA__ +#undef __OSF__ +#undef __BSD__ +#undef __FREEBSD__ +#undef __VMS__ +#undef __ULTRIX__ +#undef __DATA_GENERAL__ + +/* + * Use zlib + */ +#undef USE_ZLIB +/* + * Use gdk_imlib + */ +#undef USE_GDK_IMLIB +/* + * Use libpng + */ +#undef USE_LIBPNG +/* + * Use iODBC + */ +#undef USE_ODBC +/* + * Use Threads + */ +#undef USE_THREADS +/* + * Use storable classes + */ +#undef USE_STORABLE_CLASSES +/* + * Use automatic translation via gettext() in wxTString + */ +#undef USE_AUTOTRANS +/* + * Use font metric files in GetTextExtent for wxPostScriptDC + * Use consistent PostScript fonts for AFM and printing (!) + */ +#undef USE_AFM_FOR_POSTSCRIPT +#undef WX_NORMALIZED_PS_FONTS +/* + * Use clipboard + */ +#undef USE_CLIPBOARD +/* + * Use wxWindows layout constraint system + */ +#undef USE_CONSTRAINTS +/* + * Use the document/view architecture + */ +#undef USE_DOC_VIEW_ARCHITECTURE +/* + * Use enhanced dialog + */ +#undef USE_ENHANCED_DIALOG +/* + * Use Form panel item placement + */ +#undef USE_FORM +/* + * Use fraction class + */ +#undef USE_FRACTION +/* + * Use gauge item + */ +#undef USE_GAUGE +/* + * Implement a GLCanvas class as an interface to OpenGL, using the GLX + * extension to the X11 protocol. You can use the (free) Mesa library + * if you don't have a 'real' OpenGL. + */ +#undef USE_GLX +/* + * Use wxWindows help facility (needs USE_IPC 1) + */ +#undef USE_HELP +/* + * Use iostream.h rather than iostream + */ +#undef USE_IOSTREAMH +/* + * Use Interprocess communication + */ +#undef USE_IPC +/* + * Use Metafile and Metafile device context + */ +#undef USE_METAFILE +/* + * Use PostScript device context + */ +#undef USE_POSTSCRIPT +/* + * Use wxConfig system + */ +#undef USE_WXCONFIG +/* + * Use the print/preview architecture + */ +#undef USE_PRINTING_ARCHITECTURE +/* + * Use Prolog IO + */ +#undef USE_PROLOGIO +/* + * Use Remote Procedure Call (Needs USE_IPC and USE_PROLOGIO) + */ +#undef USE_RPC +/* + * Use wxGetResource & wxWriteResource (change .Xdefaults) + */ +#undef USE_RESOURCES +/* + * Use scrollbar item + */ +#undef USE_SCROLLBAR +/* + * Use time and date classes + */ +#undef USE_TIMEDATE +/* + * Use toolbar, use Xt port toolbar (3D look) + */ +#undef USE_TOOLBAR +#undef USE_XT_TOOLBAR +/* + * Enables old type checking mechanism (wxSubType) + */ +#undef USE_TYPETREE +/* + * Use virtual list box item + */ +#undef USE_VLBOX +/* + * Use wxWindows resource loading (.wxr-files) (Needs USE_PROLOGIO 1) + */ +#undef USE_WX_RESOURCES +/* + * Use wxGraph + */ +#undef USE_WXGRAPH +/* + * Use wxTree + */ +/* + * Use Apple Ieee-double converter + */ +#undef USE_APPLE_IEEE + +/********************** DO NOT CHANGE BELOW THIS POINT **********************/ + +/**************************** WXDEBUGGING FEATURES ****************************/ + +/* Compatibility with 1.66 API. + Level 0: no backward compatibility, all new features + Level 1: wxDC, OnSize (etc.) compatibility, but + some new features such as event tables */ +#define WXWIN_COMPATIBILITY 1 +/* + * Enables debugging: memory tracing, assert, etc., contains debug level + */ +#undef WXDEBUG +/* + * Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG) + * WARNING: this code may not work with all architectures, especially + * if alignment is an issue. + */ +#undef USE_MEMORY_TRACING +/* + * Enable debugging version of global memory operators new and delete + * Disable it, If this causes problems (e.g. link errors) + */ +#undef USE_GLOBAL_MEMORY_OPERATORS +/* + * If WXDEBUG && USE_MEMORY_TRACING && USE_GLOBAL_MEMORY_OPERATORS + * used to debug the memory allocation of wxWindows Xt port code + */ +#define USE_INTERNAL_MEMORY_TRACING 0 +/* + * Matthews garbage collection (used for MrEd?) + */ +#define WXGARBAGE_COLLECTION_ON 0 + +/**************************** COMPILER FEATURES *****************************/ + +/* + * Disable this if your compiler can't cope + * with omission of prototype parameters. + */ +#define REMOVE_UNUSED_ARG 1 +/* + * The const keyword is being introduced more in wxWindows. + * You can use this setting to maintain backward compatibility. + * If 0: will use const wherever possible. + * If 1: will use const only where necessary + * for precompiled headers to work. + * If 2: will be totally backward compatible, but precompiled + * headers may not work and program size will be larger. + */ +#define CONST_COMPATIBILITY 0 + +/************************ WINDOWS 3.1 COMPATIBILITY *************************/ + +/* + * Normalize X drawing code to behave exactly as MSW. + */ +#define WX_STANDARD_GRAPHICS 0 + +/******************* other stuff **********************************/ +/* + * Support image loading for wxBitmap (wxImage is needed for this) + */ +#define USE_IMAGE_LOADING 0 +#define WXIMAGE_INCLUDE "../../utils/image/src/wx_image.h" +/* + * Use splines + */ +#define USE_SPLINES 1 + +/* + * USE_DYNAMIC_CLASSES is TRUE for the Xt port + */ +#define USE_DYNAMIC_CLASSES 1 +/* + * USE_EXTENDED_STATICS is FALSE for the Xt port +*/ +#define USE_EXTENDED_STATICS 0 + +/*************************** IMAKEFILE EVALUATIOS ***************************/ + +#if USE_XPM + #define USE_XPM_IN_X 1 +#else + #define USE_XPM_IN_X 0 +#endif +#if USE_IMAGE_LOADING + #define USE_IMAGE_LOADING_IN_X 1 +#else + #define USE_IMAGE_LOADING_IN_X 0 +#endif + +/* here comes the system-specific stuff */ + +/* acconfig.h + This file is in the public domain. + + Descriptive text for the C preprocessor macros that + the distributed Autoconf macros can define. + No software package will use all of them; autoheader copies the ones + your configure.in uses into your configuration header file templates. + + The entries are in sort -df order: alphabetical, case insensitive, + ignoring punctuation (such as underscores). Although this order + can split up related entries, it makes it easier to check whether + a given entry is in the file. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +#undef _ALL_SOURCE +#endif + +/* Define if using alloca.c. */ +#undef C_ALLOCA + +/* Define if type char is unsigned and you are not using gcc. */ +#ifndef __CHAR_UNSIGNED__ +#undef __CHAR_UNSIGNED__ +#endif + +/* Define if the closedir function returns void instead of int. */ +#undef CLOSEDIR_VOID + +/* Define to empty if the keyword does not work. */ +#undef const + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +#undef CRAY_STACKSEG_END + +/* Define for DGUX with . */ +#undef DGUX + +/* Define if you have . */ +#undef DIRENT + +/* Define to the type of elements in the array set by `getgroups'. + Usually this is either `int' or `gid_t'. */ +#undef GETGROUPS_T + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +#undef GETLOADAVG_PRIVILEGED + +/* Define if the `getpgrp' function takes no argument. */ +#undef GETPGRP_VOID + +/* Define to `int' if doesn't define. */ +#undef gid_t + +/* Define if you have alloca, as a function or macro. */ +#undef HAVE_ALLOCA + +/* Define if you have and it should be used (not on Ultrix). */ +#undef HAVE_ALLOCA_H + +/* Define if you don't have vprintf but do have _doprnt. */ +#undef HAVE_DOPRNT + +/* Define if your system has its own `getloadavg' function. */ +#undef HAVE_GETLOADAVG + +/* Define if you have the getmntent function. */ +#undef HAVE_GETMNTENT + +/* Define if the `long double' type works. */ +#undef HAVE_LONG_DOUBLE + +/* Define if you support file names longer than 14 characters. */ +#undef HAVE_LONG_FILE_NAMES + +/* Define if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define if system calls automatically restart after interruption + by a signal. */ +#undef HAVE_RESTARTABLE_SYSCALLS + +/* Define if your struct stat has st_blksize. */ +#undef HAVE_ST_BLKSIZE + +/* Define if your struct stat has st_blocks. */ +#undef HAVE_ST_BLOCKS + +/* Define if you have the strcoll function and it is properly defined. */ +#undef HAVE_STRCOLL + +/* Define if your struct stat has st_rdev. */ +#undef HAVE_ST_RDEV + +/* Define if you have the strftime function. */ +#undef HAVE_STRFTIME + +/* Define if you have that is POSIX.1 compatible. */ +#undef HAVE_SYS_WAIT_H + +/* Define if your struct tm has tm_zone. */ +#undef HAVE_TM_ZONE + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#undef HAVE_TZNAME + +/* Define if you have . */ +#undef HAVE_UNISTD_H + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +#undef HAVE_UTIME_NULL + +/* Define if you have . */ +#undef HAVE_VFORK_H + +/* Define if you have the vprintf function. */ +#undef HAVE_VPRINTF + +/* Define if you have the wait3 system call. */ +#undef HAVE_WAIT3 + +/* Define as __inline if that's what the C compiler calls it. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define if major, minor, and makedev are declared in . */ +#undef MAJOR_IN_MKDEV + +/* Define if major, minor, and makedev are declared in . */ +#undef MAJOR_IN_SYSMACROS + +/* Define if on MINIX. */ +#undef _MINIX + +/* Define to `int' if doesn't define. */ +#undef mode_t + +/* Define if you don't have , but have . */ +#undef NDIR + +/* Define if you have , and doesn't declare the + mem* functions. */ +#undef NEED_MEMORY_H + +/* Define if your struct nlist has an n_un member. */ +#undef NLIST_NAME_UNION + +/* Define if you have . */ +#undef NLIST_STRUCT + +/* Define if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Define to `long' if doesn't define. */ +#undef off_t + +/* Define to `int' if doesn't define. */ +#undef pid_t + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +#undef _POSIX_1_SOURCE + +/* Define if you need to in order for stat and other things to work. */ +#undef _POSIX_SOURCE + +/* Define as the return type of signal handlers (int or void). */ +#undef RETSIGTYPE + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +#undef SETVBUF_REVERSED + +/* Define SIZESOF for some Objects */ +#undef SIZEOF_INT +#undef SIZEOF_INT_P +#undef SIZEOF_LONG + +/* Define to `unsigned' if doesn't define. */ +#undef size_t + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +#undef STACK_DIRECTION + +/* Define if the `S_IS*' macros in do not work properly. */ +#undef STAT_MACROS_BROKEN + +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define on System V Release 4. */ +#undef SVR4 + +/* Define on BSD */ +#undef BSD + +/* Define on System V */ +#undef SYSV + +/* Define if you don't have , but have . */ +#undef SYSDIR + +/* Define if you don't have , but have . */ +#undef SYSNDIR + +/* Define if `sys_siglist' is declared by . */ +#undef SYS_SIGLIST_DECLARED + +/* Define if you can safely include both and . */ +#undef TIME_WITH_SYS_TIME + +/* Define if your declares struct tm. */ +#undef TM_IN_SYS_TIME + +/* Define to `int' if doesn't define. */ +#undef uid_t + +/* Define for Encore UMAX. */ +#undef UMAX + +/* Define for Encore UMAX 4.3 that has + instead of . */ +#undef UMAX4_3 + +/* Define if you do not have , index, bzero, etc.. */ +#undef USG + +/* Define if the system is System V Release 4 */ +#undef SVR4 + +/* Define vfork as fork if vfork does not work. */ +#undef vfork + +/* Define if the closedir function returns void instead of int. */ +#undef VOID_CLOSEDIR + +/* Define if your processor stores words with the most significant + byte first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#undef YYTEXT_POINTER + +#endif /* __GTKSETUPH__ */ + + +/* Leave that blank line there!! Autoheader needs it. + If you're adding to this file, keep in mind: + The entries are in sort -df order: alphabetical, case insensitive, + ignoring punctuation (such as underscores). */ diff --git a/install/unix/setup/shared/sharedAIX b/install/unix/setup/shared/sharedAIX new file mode 100755 index 0000000000..cc9b6e164e --- /dev/null +++ b/install/unix/setup/shared/sharedAIX @@ -0,0 +1,26 @@ +#! /bin/sh + +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_BASE=`echo $LIBRARY_BASE | sed 's/.so/.sa/'` +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE + +echo "Creating shared library: $LIBRARY_FILE" + +ar cr $LIBRARY_FILE~ $LIBRARY_OBJS +nm $LIBRARY_OBJS | awk '/ [BD] /{print $$3}' | sort | uniq > ${LIBRARY_FILE}.syms +ld -o shr.o $LIBRARY_FILE~ -lX11 -lXt -lc -lm -H512 -T512 -bE:${LIBRARY_FILE}.syms -bM:SRE +rm -f $LIBRARY_FILE~ +ar ruv $LIBRARY_FILE shr.o +chmod a+x $LIBRARY_FILE + diff --git a/install/unix/setup/shared/sharedBsd b/install/unix/setup/shared/sharedBsd new file mode 100755 index 0000000000..4e6db1ccc7 --- /dev/null +++ b/install/unix/setup/shared/sharedBsd @@ -0,0 +1,33 @@ +#! /bin/sh + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -Bshareable -Bforcearchive -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedDgux b/install/unix/setup/shared/sharedDgux new file mode 100755 index 0000000000..d2bfc2a1a2 --- /dev/null +++ b/install/unix/setup/shared/sharedDgux @@ -0,0 +1,29 @@ +#! /bin/sh + +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_BASE=`echo $LIBRARY_BASE | sed 's/.so/.sl/'` +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -G -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE + + + + diff --git a/install/unix/setup/shared/sharedHpux b/install/unix/setup/shared/sharedHpux new file mode 100755 index 0000000000..60c198d862 --- /dev/null +++ b/install/unix/setup/shared/sharedHpux @@ -0,0 +1,29 @@ +#! /bin/sh + +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_BASE=`echo $LIBRARY_BASE | sed 's/.so/.sl/'` +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -Wl,+s -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE + + + + diff --git a/install/unix/setup/shared/sharedIrix b/install/unix/setup/shared/sharedIrix new file mode 100755 index 0000000000..d2b5393c3d --- /dev/null +++ b/install/unix/setup/shared/sharedIrix @@ -0,0 +1,45 @@ +#! /bin/sh +# on Irix, position independent code is the default + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +if test ! -f /tmp/so_locations; then + if test -f /usr/lib/so_locations; then + cp /usr/lib/so_locations /tmp + else + touch /tmp/so_locations + fi +fi +chmod u+w /tmp/so_locations + +if test "x$COMPILER" = xgcc ; then + gcc -shared -Wl,-update_registry,/tmp/so_locations \ + -Wl,-soname,$LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -shared -update_registry /tmp/so_locations \ + -soname $LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedLinux b/install/unix/setup/shared/sharedLinux new file mode 100755 index 0000000000..c274903db1 --- /dev/null +++ b/install/unix/setup/shared/sharedLinux @@ -0,0 +1,34 @@ +#! /bin/sh + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +case $COMPILER in gcc*|*gcc) + $COMPILER -shared -Wl,-soname,$LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS + ;; +*) + $COMPILER -shared -soname $LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS +esac +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedOSF b/install/unix/setup/shared/sharedOSF new file mode 100755 index 0000000000..03ba07eca1 --- /dev/null +++ b/install/unix/setup/shared/sharedOSF @@ -0,0 +1,33 @@ +#! /bin/sh + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -Wl,-soname,$LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +else + $COMPILER -shared -soname $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedSolaris2 b/install/unix/setup/shared/sharedSolaris2 new file mode 100755 index 0000000000..52c9086ee2 --- /dev/null +++ b/install/unix/setup/shared/sharedSolaris2 @@ -0,0 +1,33 @@ +#! /bin/sh + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -G -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedSunos4 b/install/unix/setup/shared/sharedSunos4 new file mode 100755 index 0000000000..7544a00584 --- /dev/null +++ b/install/unix/setup/shared/sharedSunos4 @@ -0,0 +1,33 @@ +#! /bin/sh + +#LIBRARY_BASE=`echo $1 | sed 's/.a/.so/'` +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -assert pure-text -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE +rm -f $LIBRARY_BASE.$LIBRARY_MAJOR +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR.$LIBRARY_MINOR $LIBRARY_BASE.$LIBRARY_MAJOR +rm -f $LIBRARY_BASE +ln -s $LIBRARY_NAME.$LIBRARY_MAJOR $LIBRARY_BASE + + + + diff --git a/install/unix/setup/shared/sharedSysV b/install/unix/setup/shared/sharedSysV new file mode 100755 index 0000000000..d2bfc2a1a2 --- /dev/null +++ b/install/unix/setup/shared/sharedSysV @@ -0,0 +1,29 @@ +#! /bin/sh + +COMPILER=$1 +LIBRARY_BASE=$2 +LIBRARY_MAJOR=$3 +LIBRARY_MINOR=$4 +shift 3 +LIBRARY_OBJS= +while (test $# -ne 1) do + shift; + LIBRARY_OBJS="$LIBRARY_OBJS $1sh"; +done + +LIBRARY_BASE=`echo $LIBRARY_BASE | sed 's/.so/.sl/'` +LIBRARY_NAME=`basename $LIBRARY_BASE` +LIBRARY_FILE=$LIBRARY_BASE + +echo "Creating shared library: $LIBRARY_FILE" + +if test "x$COMPILER" = xgcc ; then + gcc -shared -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +else + CC -G -h $LIBRARY_NAME -o $LIBRARY_FILE $LIBRARY_OBJS +fi +chmod a+x $LIBRARY_FILE + + + + diff --git a/install/unix/setup/substit.in b/install/unix/setup/substit.in new file mode 100644 index 0000000000..58ca011be4 --- /dev/null +++ b/install/unix/setup/substit.in @@ -0,0 +1,75 @@ +s|*OS*|@OS@|g +s|*MAKEINCLUDE*|@MAKEINCLUDE@|g +s|*WXBASEDIR*|@WXBASEDIR@|g +s|*PROFILE*|@PROFILE@|g +s|*WXDEBUG*|@WXDEBUG@|g +s|*WXDEBUG_DEFINE*|@WXDEBUG_DEFINE@|g +s|*__WXDEBUG__*|@WXDEBUG@|g +s|*OPTIMISE*|@OPTIMISE@|g +s|*CC*|@CC@|g +s|*CFLAGS*|@CFLAGS@|g +s|*CPP*|@CPP@|g +s|*CXX*|@CXX@|g +s|*CXXFLAGS*|@CXXFLAGS@|g +s|*CXXCPP*|@CXXCPP@|g +s|*PICFLAGS*|@PICFLAGS@|g +s|*CREATE_SHARED*|@CREATE_SHARED@|g +s|*LEX*|@LEX@|g +s|*LEXLIB*|@LEXLIB@|g +s|*YACC*|@YACC@|g +s|*RANLIB*|@RANLIB@|g +s|*INSTALL*|@INSTALL@|g +s|*INSTALL_PROGRAM*|@INSTALL_PROGRAM@|g +s|*INSTALL_DATA*|@INSTALL_DATA@|g +s|*AWK*|@AWK@|g +s|*LN_S*|@LN_S@|g +s|*prefix*|@prefix@|g +s|*exec_prefix*|@exec_prefix@|g +s|*bindir*|@bindir@|g +s|*datadir*|@datadir@|g +s|*infodir*|@infodir@|g +s|*X_CFLAGS*|@X_CFLAGS@|g +s|*X_LIBS*|@X_LIBS@|g +s|*X_EXTRA_LIBS*|@X_EXTRA_LIBS@|g +s|*X_PRE_LIBS*|@X_PRE_LIBS@|g +s|*GUI_TK_INCLUDE*|@GUI_TK_INCLUDE@|g +s|*GUI_TK_LIBRARY*|@GUI_TK_LIBRARY@|g +s|*GUI_TK_LINK*|@GUI_TK_LINK@|g +s|*DL_LIBRARY*|@DL_LIBRARY@|g +s|*OPENGL_INCLUDE*|@OPENGL_INCLUDE@|g +s|*OPENGL_LIBRARY*|@OPENGL_LIBRARY@|g +s|*OPENGL_LINK*|@OPENGL_LINK@|g +s|*TOOLKIT*|@TOOLKIT@|g +s|*TOOLKIT_DEF*|@TOOLKIT_DEF@|g +s|*THREADS*|@THREADS@|g +s|*THREADS_LINK*|@THREADS_LINK@|g +s|*WXSTRING*|@WXSTRING@|g +s|*TYPETREE*|@TYPETREE@|g +s|*METAFILE*|@METAFILE@|g +s|*POSTSCRIPTDC*|@POSTSCRIPTDC@|g +s|*WXGRAPH*|@WXGRAPH@|g +s|*WXTREE*|@WXTREE@|g +s|*DOCVIEW*|@DOCVIEW@|g +s|*FORM*|@FORM@|g +s|*PRINTPREVIEW*|@PRINTPREVIEW@|g +s|*IPC*|@IPC@|g +s|*HELP*|@HELP@|g +s|*CLIPBOARD*|@CLIPBOARD@|g +s|*TIMEDATE*|@TIMEDATE@|g +s|*FRACTION*|@FRACTION@|g +s|*PROLOGIO*|@PROLOGIO@|g +s|*PROLOGIOSRC*|@PROLOGIOSRC@|g +s|*ENHDIALOGBOX*|@ENHDIALOGBOX@|g +s|*GAUGE*|@GAUGE@|g +s|*GLCANVAS*|@GLCANVAS@|g +s|*LAYOUT*|@LAYOUT@|g +s|*WXRESOURCES*|@WXRESOURCES@|g +s|*XRESOURCES*|@XRESOURCES@|g +s|*SCROLLBAR*|@SCROLLBAR@|g +s|*STATICITEMS*|@STATICITEMS@|g +s|*TOOLBAR*|@TOOLBAR@|g +s|*CONSTRAINTS*|@CONSTRAINTS@|g +s|*RPC*|@RPC@|g +s|*VIRLISTBOX*|@VIRLISTBOX@|g +s|*GTK_JOYSTICK*|@GTK_JOYSTICK@|g +s|*UNIX_THREAD*|@UNIX_THREAD@|g diff --git a/src/Makefile.in b/src/Makefile.in index 411cd924af..f8c9c3bdf6 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,10 +1,10 @@ # -# wxGTK main source makefile +# wxWindows/Unix main source makefile # # Copyright 1998, Markus Holzhem and Robert Roebling # -# wxGTK base directory +# wxWindows base directory WXBASEDIR=@WXBASEDIR@ # set the OS type for compilation @@ -15,188 +15,14 @@ RULE=gslib # define common stuff -# needed for unactivated -NONE = +# include gtk.inc, qt.inc or motif.inc here +include @MAKEINCLUDE@ -# define library name -LIB_TARGET=wx_gtk -LIB_MAJOR=1 -LIB_MINOR=90 +LIB_CPP_ALL_SRC=$(LIB_CPP_SRC) @GTK_JOYSTICK@ @UNIX_THREAD@ -# define library sources - -LIB_CPP_SRC=\ -\ - common/cmndata.cpp \ - common/config.cpp \ - common/date.cpp \ - common/docmdi.cpp \ - common/docview.cpp \ - common/dynarray.cpp \ - common/event.cpp \ - common/file.cpp \ - common/fileconf.cpp \ - common/filefn.cpp \ - common/gdicmn.cpp \ - common/hash.cpp \ - common/helpbase.cpp \ - common/intl.cpp \ - common/ipcbase.cpp \ - common/layout.cpp \ - common/list.cpp \ - common/log.cpp \ - common/matrix.cpp \ - common/memory.cpp \ - common/module.cpp \ - common/object.cpp \ - common/odbc.cpp \ - common/postscrp.cpp \ - common/prntbase.cpp \ - common/string.cpp \ - common/textfile.cpp \ - common/time.cpp \ - common/timercmn.cpp \ - common/utilscmn.cpp \ - common/wincmn.cpp \ - common/framecmn.cpp \ - common/stream.cpp \ - common/datstrm.cpp \ - common/fstream.cpp \ - common/mstream.cpp \ - common/zstream.cpp \ - common/objstrm.cpp \ - common/framecmn.cpp \ - common/wincmn.cpp \ -\ - gtk/app.cpp \ - gtk/bitmap.cpp \ - gtk/brush.cpp \ - gtk/button.cpp \ - gtk/checkbox.cpp \ - gtk/choice.cpp \ - gtk/colour.cpp \ - gtk/control.cpp \ - gtk/combobox.cpp \ - gtk/cursor.cpp \ - gtk/data.cpp \ - gtk/dc.cpp \ - gtk/dcclient.cpp \ - gtk/dcmemory.cpp \ - gtk/dcscreen.cpp \ - gtk/dnd.cpp \ - gtk/dialog.cpp \ - gtk/filedlg.cpp \ - gtk/font.cpp \ - gtk/frame.cpp \ - gtk/gauge.cpp \ - gtk/gdiobj.cpp \ - gtk/icon.cpp \ - gtk/listbox.cpp \ - gtk/mdi.cpp \ - gtk/menu.cpp \ - gtk/notebook.cpp \ - gtk/palette.cpp \ - gtk/pen.cpp \ - gtk/radiobox.cpp \ - gtk/radiobut.cpp \ - gtk/region.cpp \ - gtk/scrolbar.cpp \ - gtk/settings.cpp \ - gtk/slider.cpp \ - gtk/statbox.cpp \ - gtk/stattext.cpp \ - gtk/tbargtk.cpp \ - gtk/textctrl.cpp \ - gtk/timer.cpp \ - gtk/utilsgtk.cpp \ - gtk/utilsres.cpp \ - gtk/window.cpp \ - @GTK_JOYSTICK@ \ - @UNIX_THREAD@ \ -\ - generic/choicdgg.cpp \ - generic/colrdlgg.cpp \ - generic/fontdlgg.cpp \ - generic/gridg.cpp \ - generic/imaglist.cpp \ - generic/listctrl.cpp \ - generic/msgdlgg.cpp \ - generic/panelg.cpp \ - generic/printps.cpp \ - generic/prntdlgg.cpp \ - generic/scrolwin.cpp \ - generic/splitter.cpp \ - generic/statusbr.cpp \ - generic/tabg.cpp \ - generic/textdlgg.cpp \ - generic/treectrl.cpp - -# common/dynlib.cpp Disabled until I write support for DLL on all platforms - -LIB_C_SRC=\ - common/extended.c \ -\ - gtk/win_gtk.c \ -\ - png/png.c \ - png/pngset.c \ - png/pngget.c \ - png/pngrutil.c \ - png/pngtrans.c \ - png/pngwutil.c \ - png/pngread.c \ - png/pngrio.c \ - png/pngwio.c \ - png/pngwrite.c \ - png/pngrtran.c \ - png/pngwtran.c \ - png/pngmem.c \ - png/pngerror.c \ - png/pngpread.c \ -\ - zlib/adler32.c \ - zlib/compress.c \ - zlib/crc32.c \ - zlib/gzio.c \ - zlib/uncompr.c \ - zlib/deflate.c \ - zlib/trees.c \ - zlib/zutil.c \ - zlib/inflate.c \ - zlib/infblock.c \ - zlib/inftrees.c \ - zlib/infcodes.c \ - zlib/infutil.c \ - zlib/inffast.c \ -\ - gdk_imlib/cache.c \ - gdk_imlib/colors.c \ - gdk_imlib/globals.c \ - gdk_imlib/load.c \ - gdk_imlib/misc.c \ - gdk_imlib/rend.c \ - gdk_imlib/save.c \ - gdk_imlib/utils.c \ -\ - iodbc/dlf.c \ - iodbc/dlproc.c \ - iodbc/herr.c \ - iodbc/henv.c \ - iodbc/hdbc.c \ - iodbc/hstmt.c \ - iodbc/connect.c \ - iodbc/prepare.c \ - iodbc/result.c \ - iodbc/execute.c \ - iodbc/fetch.c \ - iodbc/info.c \ - iodbc/catalog.c \ - iodbc/misc.c \ - iodbc/itrace.c - #define library objects LIB_OBJ=\ - $(LIB_CPP_SRC:.cpp=.o) \ + $(LIB_CPP_ALL_SRC:.cpp=.o) \ $(LIB_C_SRC:.c=.o) all:: @@ -204,6 +30,8 @@ all:: clean:: $(RM) -rf gtk + $(RM) -rf qt + $(RM) -rf motif $(RM) -rf common $(RM) -rf generic $(RM) -rf png diff --git a/src/gtk.inc b/src/gtk.inc new file mode 100644 index 0000000000..2a35a5b834 --- /dev/null +++ b/src/gtk.inc @@ -0,0 +1,176 @@ +# needed for unactivated +NONE = + +# define library name +LIB_TARGET=wx_gtk +LIB_MAJOR=1 +LIB_MINOR=91 + +# define library sources + +LIB_CPP_SRC=\ +\ + common/cmndata.cpp \ + common/config.cpp \ + common/date.cpp \ + common/docmdi.cpp \ + common/docview.cpp \ + common/dynarray.cpp \ + common/event.cpp \ + common/file.cpp \ + common/fileconf.cpp \ + common/filefn.cpp \ + common/gdicmn.cpp \ + common/hash.cpp \ + common/helpbase.cpp \ + common/intl.cpp \ + common/ipcbase.cpp \ + common/layout.cpp \ + common/list.cpp \ + common/log.cpp \ + common/matrix.cpp \ + common/memory.cpp \ + common/module.cpp \ + common/object.cpp \ + common/odbc.cpp \ + common/postscrp.cpp \ + common/prntbase.cpp \ + common/string.cpp \ + common/textfile.cpp \ + common/time.cpp \ + common/timercmn.cpp \ + common/utilscmn.cpp \ + common/wincmn.cpp \ + common/framecmn.cpp \ + common/stream.cpp \ + common/datstrm.cpp \ + common/fstream.cpp \ + common/mstream.cpp \ + common/zstream.cpp \ + common/objstrm.cpp \ + common/framecmn.cpp \ + common/wincmn.cpp \ +\ + gtk/app.cpp \ + gtk/bitmap.cpp \ + gtk/brush.cpp \ + gtk/button.cpp \ + gtk/checkbox.cpp \ + gtk/choice.cpp \ + gtk/colour.cpp \ + gtk/control.cpp \ + gtk/combobox.cpp \ + gtk/cursor.cpp \ + gtk/data.cpp \ + gtk/dc.cpp \ + gtk/dcclient.cpp \ + gtk/dcmemory.cpp \ + gtk/dcscreen.cpp \ + gtk/dnd.cpp \ + gtk/dialog.cpp \ + gtk/filedlg.cpp \ + gtk/font.cpp \ + gtk/frame.cpp \ + gtk/gauge.cpp \ + gtk/gdiobj.cpp \ + gtk/icon.cpp \ + gtk/listbox.cpp \ + gtk/mdi.cpp \ + gtk/menu.cpp \ + gtk/notebook.cpp \ + gtk/palette.cpp \ + gtk/pen.cpp \ + gtk/radiobox.cpp \ + gtk/radiobut.cpp \ + gtk/region.cpp \ + gtk/scrolbar.cpp \ + gtk/settings.cpp \ + gtk/slider.cpp \ + gtk/statbox.cpp \ + gtk/stattext.cpp \ + gtk/tbargtk.cpp \ + gtk/textctrl.cpp \ + gtk/timer.cpp \ + gtk/utilsgtk.cpp \ + gtk/utilsres.cpp \ + gtk/window.cpp \ +\ + generic/choicdgg.cpp \ + generic/colrdlgg.cpp \ + generic/fontdlgg.cpp \ + generic/gridg.cpp \ + generic/imaglist.cpp \ + generic/listctrl.cpp \ + generic/msgdlgg.cpp \ + generic/panelg.cpp \ + generic/printps.cpp \ + generic/prntdlgg.cpp \ + generic/scrolwin.cpp \ + generic/splitter.cpp \ + generic/statusbr.cpp \ + generic/tabg.cpp \ + generic/textdlgg.cpp \ + generic/treectrl.cpp + +# common/dynlib.cpp Disabled until I write support for DLL on all platforms + +LIB_C_SRC=\ + common/extended.c \ +\ + gtk/win_gtk.c \ +\ + png/png.c \ + png/pngset.c \ + png/pngget.c \ + png/pngrutil.c \ + png/pngtrans.c \ + png/pngwutil.c \ + png/pngread.c \ + png/pngrio.c \ + png/pngwio.c \ + png/pngwrite.c \ + png/pngrtran.c \ + png/pngwtran.c \ + png/pngmem.c \ + png/pngerror.c \ + png/pngpread.c \ +\ + zlib/adler32.c \ + zlib/compress.c \ + zlib/crc32.c \ + zlib/gzio.c \ + zlib/uncompr.c \ + zlib/deflate.c \ + zlib/trees.c \ + zlib/zutil.c \ + zlib/inflate.c \ + zlib/infblock.c \ + zlib/inftrees.c \ + zlib/infcodes.c \ + zlib/infutil.c \ + zlib/inffast.c \ +\ + gdk_imlib/cache.c \ + gdk_imlib/colors.c \ + gdk_imlib/globals.c \ + gdk_imlib/load.c \ + gdk_imlib/misc.c \ + gdk_imlib/rend.c \ + gdk_imlib/save.c \ + gdk_imlib/utils.c \ +\ + iodbc/dlf.c \ + iodbc/dlproc.c \ + iodbc/herr.c \ + iodbc/henv.c \ + iodbc/hdbc.c \ + iodbc/hstmt.c \ + iodbc/connect.c \ + iodbc/prepare.c \ + iodbc/result.c \ + iodbc/execute.c \ + iodbc/fetch.c \ + iodbc/info.c \ + iodbc/catalog.c \ + iodbc/misc.c \ + iodbc/itrace.c diff --git a/src/mkdirs b/src/mkdirs index 7b2f5f8770..e029963de5 100755 --- a/src/mkdirs +++ b/src/mkdirs @@ -5,6 +5,16 @@ if test ! -d gtk; then mkdir gtk fi +# create "/qt" if not present +if test ! -d gtk; then + mkdir gtk +fi + +# create "/motif" if not present +if test ! -d gtk; then + mkdir gtk +fi + # create "/common" if not present if test ! -d common; then mkdir common diff --git a/src/motif.inc b/src/motif.inc new file mode 100644 index 0000000000..5faa67a46d --- /dev/null +++ b/src/motif.inc @@ -0,0 +1,61 @@ +# needed for unactivated +NONE = + +# define library name +LIB_TARGET=wx_motif +LIB_MAJOR=0 +LIB_MINOR=1 + +# define library sources + +LIB_CPP_SRC=\ +\ + +LIB_C_SRC=\ +\ + png/png.c \ + png/pngset.c \ + png/pngget.c \ + png/pngrutil.c \ + png/pngtrans.c \ + png/pngwutil.c \ + png/pngread.c \ + png/pngrio.c \ + png/pngwio.c \ + png/pngwrite.c \ + png/pngrtran.c \ + png/pngwtran.c \ + png/pngmem.c \ + png/pngerror.c \ + png/pngpread.c \ +\ + zlib/adler32.c \ + zlib/compress.c \ + zlib/crc32.c \ + zlib/gzio.c \ + zlib/uncompr.c \ + zlib/deflate.c \ + zlib/trees.c \ + zlib/zutil.c \ + zlib/inflate.c \ + zlib/infblock.c \ + zlib/inftrees.c \ + zlib/infcodes.c \ + zlib/infutil.c \ + zlib/inffast.c \ +\ + iodbc/dlf.c \ + iodbc/dlproc.c \ + iodbc/herr.c \ + iodbc/henv.c \ + iodbc/hdbc.c \ + iodbc/hstmt.c \ + iodbc/connect.c \ + iodbc/prepare.c \ + iodbc/result.c \ + iodbc/execute.c \ + iodbc/fetch.c \ + iodbc/info.c \ + iodbc/catalog.c \ + iodbc/misc.c \ + iodbc/itrace.c diff --git a/src/qt.inc b/src/qt.inc new file mode 100644 index 0000000000..ca67b5a075 --- /dev/null +++ b/src/qt.inc @@ -0,0 +1,61 @@ +# needed for unactivated +NONE = + +# define library name +LIB_TARGET=wx_qt +LIB_MAJOR=0 +LIB_MINOR=1 + +# define library sources + +LIB_CPP_SRC=\ +\ + +LIB_C_SRC=\ +\ + png/png.c \ + png/pngset.c \ + png/pngget.c \ + png/pngrutil.c \ + png/pngtrans.c \ + png/pngwutil.c \ + png/pngread.c \ + png/pngrio.c \ + png/pngwio.c \ + png/pngwrite.c \ + png/pngrtran.c \ + png/pngwtran.c \ + png/pngmem.c \ + png/pngerror.c \ + png/pngpread.c \ +\ + zlib/adler32.c \ + zlib/compress.c \ + zlib/crc32.c \ + zlib/gzio.c \ + zlib/uncompr.c \ + zlib/deflate.c \ + zlib/trees.c \ + zlib/zutil.c \ + zlib/inflate.c \ + zlib/infblock.c \ + zlib/inftrees.c \ + zlib/infcodes.c \ + zlib/infutil.c \ + zlib/inffast.c \ +\ + iodbc/dlf.c \ + iodbc/dlproc.c \ + iodbc/herr.c \ + iodbc/henv.c \ + iodbc/hdbc.c \ + iodbc/hstmt.c \ + iodbc/connect.c \ + iodbc/prepare.c \ + iodbc/result.c \ + iodbc/execute.c \ + iodbc/fetch.c \ + iodbc/info.c \ + iodbc/catalog.c \ + iodbc/misc.c \ + iodbc/itrace.c -- 2.45.2