As an example, a configuration for a DEC/ALPHA workstation running Digital UNIX 3.2 is shown in Listing E.1.
Example configuration for Digital UNIX 3.2
;;----------------------------------------------------------------------------- ;; system specific additional values (defsys OSName "OSF1 V3.2A") (defsys OSType "OSF1") (defsys OSMajorVersion 3) (defsys OSMinorVersion 2) ;; some special modes (defsys HasAlloca yes) (defsys NeedAllocaInclude yes) (defsys Has64BitLong yes) (defsys Malloc0ReturnsNull yes) ;; BUGS (defsys HasConstConstructorBug no) (defsys HasTemplateRepository no) (defsys HasRuntimeTypeIdentification no) (defsys HasANSI_TemplateInstantation no) (defsys NeedsTemplateInstances yes) ; include template instantations (defsys NeedsTemplateDefinitions no) ; include template defs in headers ;;---------------------------------------------------------------------------- (defcommand cc ;;- for the C compiler :command "cc" :ext "c" :sysflags "-c -std1 -readonly_strings" :optimize "-O1 -D_INTRINSICS -D_FASTMATH -D__KAP -Olimit 2500" :debug "-g2" :optdebug "-O -g3 -Olimit 2500" :profile "-p" :verbose "-v" :define "-D~A" :definevalue "-D~A=~S" :include "-I~A" :output "-o ~A" :objname "~A.o") (defcommand cpp ;;- for the C preprocessor :command "cpp" :sysflags "-E -P" :define "-D~A" :definevalue "-D~A=~A" :include "-I~A") (defcommand c++ ;;- for the C++ compiler :command "cxx" :ext "cc" "C" "c" :sysflags "-c -std1" :optimize "-O -D_FASTMATH -D__KAP -Olimit 2500" :debug "-g2" :optdebug "-O -g3 -Olimit 2500" :profile "-p" :verbose "-v" :define "-D~A" :definevalue "-D~A=~S" :include "-I~A" :output "-o ~A" :objname "~A.o") (defcommand fortran ;;- for the Fortran compiler :command "f77" :ext "f" :sysflags "-c" :optimize "-O -Olimit 2000" :debug "-g2" :optdebug "-O -g3" :range "-C" :profile "-p" :verbose "-v" :output "-o ~A" :objname "~A.o") (defcommand fortran/cpp ;;- for the Fortran compiler with Cpp :command "f77" :ext "F" :sysflags "-c" :optimize "-O -Olimit 2000" :debug "-g2" :optdebug "-O -g3" :range "-C" :profile "-p" :verbose "-v" :define "-D~A" :definevalue "-D~A=~S" :include "-I~A" :output "-o ~A" :objname "~A.o") (defcommand binding ;;- language binding :trailing ; trailing underline :lowercase ; lowercase names :true "-1" ; .TRUE. :false "0") ; .FALSE. (defcommand pascal ;;- for the Pascal compiler :command "pc" :ext "p" :optimize "-O" :debug "-g2" :optdebug "-O -g3" :profile "-p" :verbose "-v" :output "-o ~A" :objname "~A.o") (defcommand linker ;;- for the linker :cc "cc" :c++ "cxx" :fortran "f77" :pascal "pc" :optimize "-O2 -s" :debug "-g" :optdebug "-g -O2" :profile "-p" :verbose "-v" :output "-o ~A" :linkpath "-L~A" :loadlib "-l~A" :sloadlib "-l~A" :slinkpath "-Wl,-rpath,~A" :syslibs "c" :fortranlibs "Ufor" "for" "Futil" "ots" "m" :mathlib "m" :x11libs "Xt" "Xext" "X11" :xmulib "Xmu" :motiflib "Xm" "Mrm" :check "atom" ; memory checking tool :checkargs "-tool 3rd -all -L/usr/atomshlib -A1" :postcheck :checkext "3rd" :checkclean "*.3rd|*.3log") (defcommand library ;;- for the library archivier :command "ar" :sysflags "qlcvs" :library "lib~A.a" :output "~A") (defcommand sharedlibrary ;;- for shared library generation :command "ld" :sysflags "-S -shared -no_archive -error_unresolved" :slibrary "lib~A.so" :loadpath "-L~A" :sloadpath "-rpath ~A" :loadlib "-l~A" :soversion "-set_version ~A" :output "-o ~A" :addrupdate "-update_registry ~A" :addrcheck "-check_registry ~A" :addrglobal "/usr/shlib/so_locations") (defcommand strip ;;- strip debug information :command "strip" :executable "~A" :library "-x ~A" :library2command "ar" :library2 "ts ~A") (defcommand clean ;; cleaning up files :files "core" ".#*" "#*#" "*.bak" :logfiles "*.log" :backup "*~") (defcommand yacc ;;- yacc/bison :command "yacc" :include "-d" :input "~A" :prefix "-p ~A") (defcommand lex ;;- lex/flex :command "lex" :verbose "-v" :input "~A") (defcommand awk ;;- awk/gawk :command "awk" :program "-f ~A" :define "-v ~A=~S" :input "~A") (defcommand perl ;;- perl :command "perl" :program "~A") (defcommand cvs ;;- CVS repository :cvs "cvs" :addfile "add -m ~A" :adddir "add" :commit "commit -l -F ~A" :status "status -l" :update "update -R -d -P" :remove "remove" :diff "diff -C1 -w" :tag "tag -F -l ~A")