######################################################################### # # # Objective Caml # # # # Xavier Leroy, projet Cristal, INRIA Rocquencourt # # # # Copyright 1999 Institut National de Recherche en Informatique et # # en Automatique. All rights reserved. This file is distributed # # under the terms of the GNU Library General Public License, with # # the special exception on linking described in file ../LICENSE. # # # ######################################################################### # $Id$ ### Compile-time configuration ########## General configuration ### Where to install the binaries BINDIR=/usr/local/bin ### Where to install the standard library LIBDIR=/usr/local/lib/ocaml STUBLIBDIR=$(LIBDIR)/stublibs ### Where to install the man pages # Man pages for commands go in $(MANDIR)/man$(MANEXT) # Man pages for the library go in $(MANDIR)/mano MANDIR=/usr/local/man MANEXT=1 ### Do #! scripts work on your system? ### Beware: on some systems (e.g. SunOS 4), this will work only if ### the string "#!$(BINDIR)/ocamlrun" is less than 32 characters long. ### In doubt, set SHARPBANGSCRIPTS to false. SHARPBANGSCRIPTS=true #SHARPBANGSCRIPTS=false ########## Configuration for the bytecode compiler ### Which C compiler to use for the bytecode interpreter. ### Performance of the bytecode interpreter is *much* improved ### if Gnu CC version 2 is used. #BYTECC=gcc #BYTECC=cc ### Additional compile-time options for $(BYTECC). # If using gcc on Intel 386 or Motorola 68k: # (the -fno-defer-pop option circumvents a bug in certain versions of gcc) #BYTECCCOMPOPTS=-fno-defer-pop -Wall # If using gcc and being superstitious: #BYTECCCOMPOPTS=-Wall # Under NextStep: #BYTECCCOMPOPTS=-U__GNUC__ -fno-defer-pop -Wall # Otherwise: #BYTECCCOMPOPTS= ### Additional link-time options for $(BYTECC) ### If using GCC on a Dec Alpha under OSF1: #BYTECCLINKOPTS=-Wl,-T,12000000 -Wl,-D,14000000 # To support dynamic loading of shared libraries (they need to look at # our own symbols): #BYTECCLINKOPTS=-Wl,-E # Otherwise: #BYTECCLINKOPTS= ### Libraries needed # On most platforms: #CCLIBS=-lcurses -ltermcap -lm ### How to invoke the C preprocessor # This is not needed anymore. Leave these lines commented out. # On most machines: #CPP=/lib/cpp -P # Under Solaris: #CPP=/usr/ccs/lib/cpp -P # Under FreeBSD: #CPP=cpp -P ### How to invoke ranlib # BSD-style: #RANLIB=ranlib #RANLIBCMD=ranlib # If ranlib is not needed: #RANLIB=ar rs #RANLIBCMD= ### Shared library support # Extension for shared libraries: so if supported, a if not supported #SO=so #SO=a # Set to nothing if shared libraries supported, and to -custom if not supported #CUSTOM_IF_NOT_SHARED= #CUSTOM_IF_NOT_SHARED=-custom # Options to $(BYTECC) to produce shared objects (e.g. PIC) #SHAREDCCCOMPOPTS=-fPIC # How to build a shared library, invoked with output .so as first arg # and object files as remaining args #MKSHAREDLIB=gcc -shared -o # Compile-time option to $(BYTECC) to add a directory to be searched # at run-time for shared libraries #BYTECCRPATH=-Wl,-rpath ############# Configuration for the native-code compiler ### Name of architecture for the native-code compiler ### Currently supported: ### ### alpha Digital/Compaq Alpha machines under DUnix/Tru64 or Linux ### i386 Intel Pentium PCs under Linux, *BSD*, NextStep ### sparc Sun Sparcstation under SunOS 4.1 or Solaris 2 ### mips SGI machines under IRIX ### hppa HP 9000/700 under HPUX ### power Mac OS X; IBM RS6000 and PowerPC workstations under AIX ### ia64 Intel Itanium/IA64 under Linux ### arm ARM under Linux ### ### Set ARCH=none if your machine is not supported #ARCH=alpha #ARCH=i386 #ARCH=sparc #ARCH=mips #ARCH=hppa #ARCH=power #ARCH=ia64 #ARCH=arm #ARCH=none ### Name of architecture model for the native-code compiler. ### Some architectures come in several slightly different flavors ### that share a common code generator. This variable tailors the ### behavior of the code generator to the particular flavor used. ### Currently needed only if ARCH=power; leave MODEL=default for ### other architectures. ### If ARCH=power: choose between ### MODEL=rs6000 The original IBM RS6000 workstations ### (RIOS and RIOS2 processors) ### MODEL=ppc The newer PowerPC processors ### (Motorola/IBM PPC601, PPC603, PPC604, G3, G4, etc) ### The Motorola PPC601 is compatible with both models, but the newer ### PPCs will work only with MODEL=ppc, and the older IBM RS6000 ### workstations will work only with MODEL=rs6000. ### ### For other architectures: leave MODEL=default ### #MODEL=rs6000 #MODEL=ppc #MODEL=default ### Name of operating system family for the native-code compiler. ### If ARCH=sparc: choose between ### SYSTEM=sunos SunOS 4.1 ### SYSTEM=solaris Solaris 2 ### ### If ARCH=i386: choose between ### SYSTEM=linux_aout Linux with a.out binaries ### SYSTEM=linux_elf Linux with ELF binaries ### SYSTEM=bsd FreeBSD, probably works for NetBSD also ### SYSTEM=nextstep NextStep ### ### For other architectures: set SYSTEM=unknown ### #SYSTEM=sunos #SYSTEM=solaris #SYSTEM=linux #SYSTEM=linux_elf #SYSTEM=bsd #SYSTEM=nextstep #SYSTEM=unknown ### Which C compiler to use for the native-code compiler. ### cc is better than gcc on the Mips and Alpha. #NATIVECC=cc #NATIVECC=gcc ### Additional compile-time options for $(NATIVECC). # For cc on the Alpha: #NATIVECCCOMPOPTS=-std1 # For cc on the Mips: #NATIVECCCOMPOPTS=-std # For gcc if superstitious: #NATIVECCCOMPOPTS=-Wall ### Additional link-time options for $(NATIVECC) #NATIVECCLINKOPTS= # Compile-time option to $(NATIVECC) to add a directory to be searched # at run-time for shared libraries #NATIVECCRPATH=-Wl,-rpath ### Flags for the assembler # For the Alpha or the Mips: #ASFLAGS=-O2 # For the PowerPC: #ASFLAGS=-u -m ppc -w # For the RS6000: #ASFLAGS=-u -m pwr -w # Otherwise: #ASFLAGS= ### Command and flags to use for assembling .S files (often with preprocessing) # If gcc is available: #ASPP=gcc #ASPPFLAGS=-c -DSYS_$(SYSTEM) # On SunOS and Solaris: #ASPP=$(AS) #ASPPFLAGS=-P -DSYS_$(SYSTEM) # Otherwise: #ASPP=$(AS) #ASPPFLAGS= ### Extra flags to use for assembling .S files in profiling mode # On Digital Unix: #ASPPPROFFLAGS=-pg -DPROFILING # Otherwise: #ASPPPROFFLAGS=-DPROFILING ### Whether profiling with gprof is supported # If yes: (x86/Linux, Alpha/Digital Unix, Sparc/Solaris): #PROFILING=prof # If no: (all others) #PROFILING=noprof ### Option to give to the C compiler for profiling #CC_PROFILE=-pg #CC_PROFILE=-xpg ### Path to the "objcopy" program from GNU binutils. # You need a sufficiently recent version of the binutils so that # the option --redefine-sym is supported by objcopy. # Leave blank if you don't have "objcopy", but then "ocamlopt -pack" # will not work #BINUTILS_OBJCOPY=/usr/bin/objcopy ### Path to the "nm" program from GNU binutils. # Other versions of nm do *not* work for our purposes. # Leave blank if you don't have GNU "nm", but then "ocamlopt -pack" # will not work #BINUTILS_NM=/usr/bin/nm ############# Configuration for the contributed libraries ### Which libraries to compile and install # Currently available: # unix Unix system calls # str Regular expressions and high-level string processing # num Arbitrary-precision rational arithmetic # threads Lightweight concurrent processes # systhreads Same as threads, requires POSIX threads # graph Portable drawing primitives for X11 # dynlink Dynamic linking of bytecode # labltk Tcl/Tk interface # bigarray Large, multidimensional numerical arrays OTHERLIBRARIES=unix str num threads graph dynlink labltk bigarray ### Name of the target architecture for the "num" library # Known targets: # x86 68K vax ns mips alpha pyramid i960 # sparc supersparc sparc-solaris supersparc-solaris # See the file otherlibs/num/README for more explanations. # If you don't know, leave BIGNUM_ARCH=C, which selects a portable # C implementation of these routines. BIGNUM_ARCH=alpha ### Link-time options to ocamlc or ocamlopt for linking with POSIX threads # Needed for the "systhreads" package # Usually: #PTHREAD_LINK=-cclib -lpthread # For Solaris: #PTHREAD_LINK=-cclib -lpthread -cclib -lposix4 ### -I options for finding the X11/*.h includes # Needed for the "graph" and "labltk" packages # Usually: #X11_INCLUDES=-I/usr/X11R6/include # For SunOS with OpenLook: #X11_INCLUDES=/usr/openwin/include ### Link-time options to ocamlc or ocamlopt for linking with X11 libraries # Needed for the "graph" and "labltk" packages # Usually: #X11_LINK=-lX11 # For SunOS with OpenLook: #X11_LINK=-L$(X11_LIB) -lX11 ### -I options for finding the include file ndbm.h # Needed for the "dbm" package # Usually: #DBM_INCLUDES= # For recent Linux systems: #DBM_INCLUDES=-I/usr/include/gdbm ### Preprocessor options for finding tcl.h and tk.h # Needed for the "labltk" package # Required only if not in the standard include path. # For Tcl/Tk 8.0 on FreeBSD: #TK_DEFS="-I/usr/local/include/tcl8.0 -I/usr/local/include/tk8.0" ### Linker options for linking tcl and tk libraries # Needed for the "labltk" package # Usually (with appropriate version numbers): #TK_LINK="-ltk8.0 -ltcl8.0" # For Tcl/Tk 8.0 on FreeBSD: #TK_LINK="-L/usr/local/lib -ltk8.0 -ltcl8.0"