You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
537 lines
20 KiB
537 lines
20 KiB
# -*- tcl -*- Critcl configuration file |
|
|
|
# some defaults - you can override these in the platform specific section |
|
# but shouldn't need to for typical *nix toolchains using gcc |
|
# |
|
# platform sets the platform (defaults to platform::generic) |
|
# target indicates that this is a cross-compile target, the value is the actual platform code. |
|
# compile compile a C source file to an object file |
|
# version print the compiler version number |
|
# ldout See below |
|
# link Command to link one or more object files and create a shared library |
|
# embed_manifest Command to embed a manifest into a DLL. (Win-specific) |
|
# link_debug See below |
|
# link_preload Linker flags to use when dependent libraries are pre-loaded. |
|
# link_release See below |
|
# preproc_define preprocess C source file (for critcl::cdefines) |
|
# preproc_enum ditto |
|
# tclstubs cflag to set USE_TCL_STUBS |
|
# tkstubs cflag to set USE_TK_STUBS |
|
# debug_memory cflag to enable memory debugging |
|
# debug_symbols cflag to add symbols to resulting library |
|
# object file extension for object files |
|
# output flags to set output file |
|
# strip cflag to tell linker to strip symbols |
|
# optimize cflag to specify optimization level |
|
# include cflag to add an include directory |
|
# noassert cflag to turn off assertions in Tcl code |
|
# threadflags cflags to enable threaded build |
|
# sharedlibext the platform's file extension for shared libraries |
|
# |
|
# (Support for Fortran) |
|
# fcompile compile a Fortran source file to an object file |
|
# fversion print the Fortran compiler version number |
|
# flink link one or more object files and create a shared library, |
|
# if at least one object file comes from Fortran |
|
# foutput Fortran flag(s) to set output file |
|
# finclude Fortran flag to add an include directory |
|
# fextra_cflags Extra C flags for indicating type of Fortran compiler |
|
# |
|
# Any other config options are assumed to refer to Tcl variables and |
|
# these are set when building so they can be used in the Critcl script. |
|
# Typically this is used when defining cross-compile environments to set |
|
# various tcl_platform() values. |
|
# |
|
# You can also set Tcl variables to use in "when" options (see the MacOSX |
|
# section for an example - "set universal ..."). These commands and the |
|
# "when" commands are run in a separate interpreter. |
|
# |
|
# You can also base a build configuration on an existing one by using |
|
# the "copy" option and then specifically setting the config bits that |
|
# you want to change. See win32-x86_64-cl for an example. |
|
|
|
compile gcc -c -fPIC |
|
version gcc -v |
|
link gcc -shared |
|
include -I |
|
libinclude -L |
|
preproc_define gcc -E -dM |
|
preproc_enum gcc -E |
|
tclstubs -DUSE_TCL_STUBS |
|
tkstubs -DUSE_TK_STUBS |
|
debug_memory -DTCL_MEM_DEBUG |
|
debug_symbols -g |
|
object .o |
|
output -o [list $outfile] |
|
embed_manifest |
|
ldoutput |
|
link_debug |
|
link_release |
|
link_preload --unresolved-symbols=ignore-in-shared-libs |
|
link_rpath -Wl,-rpath,@ |
|
strip -Wl,-s |
|
optimize -O2 |
|
noassert -DNDEBUG |
|
threadflags -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 \ |
|
-DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 \ |
|
-DTCL_THREADS=1 |
|
|
|
# platform specific stuff follows |
|
|
|
# OSX - check if universal binaries supported by the installed toolchain |
|
|
|
if {[string match macosx-* $platform]} { |
|
if {[info exists ::env(SDKROOT)] && $::env(SDKROOT) ne ""} { |
|
set SDKROOT $::env(SDKROOT) |
|
} else { |
|
# look for an SDK supporting universal binaries |
|
set pos [string length MacOSX] |
|
set sdklist {} |
|
set base /Developer |
|
catch {set base [exec xcode-select -print-path]} |
|
foreach dir [glob -nocomplain -tails \ |
|
-directory $base/SDKs MacOSX*] { |
|
set ver [string trimright \ |
|
[file rootname [string range $dir $pos end]] u] |
|
if {"$ver" != "" && [package vcompare $ver 10.4] >= 0} { |
|
# 10.4 is earliest supporting universal that we support |
|
set path($ver) $dir |
|
lappend sdklist $ver |
|
} |
|
} |
|
if {[llength $sdklist]} { |
|
set ver [lindex [lsort -command "package vcompare" $sdklist] 0] |
|
set SDKROOT $base/SDKs/$path($ver) |
|
} else { |
|
set SDKROOT "" |
|
} |
|
} |
|
if {$SDKROOT ne ""} { |
|
# get the SDKsettings for the min OSX value supported |
|
set info "" |
|
if [catch { |
|
set info [exec defaults read $SDKROOT/SDKSettings buildSettings] |
|
}] { |
|
catch { |
|
set info [exec defaults read $SDKROOT/SDKSettings DefaultProperties \ |
|
-dict MACOSX_DEPLOYMENT_TARGET] |
|
} |
|
} |
|
if {$info eq ""} { |
|
puts stderr "SDKROOT isn't configured correctly on this host" |
|
puts stderr "current setting $SDKROOT needs updating" |
|
exit 1 |
|
} |
|
set info [string trim $info] |
|
regsub -all {[\n"\;=\{\}]+} $info "" info ;#" help emacs hilighting |
|
regsub -all {\s+} $info " " info |
|
set osxmin [lindex $info 1] |
|
} else { |
|
# use the current platform |
|
foreach {v1 v2 v3} [split $::tcl_platform(osVersion) .] break |
|
incr v1 -4 |
|
set osxmin 10.$v1.$v2 |
|
# do we actually need to check if universal is supported, given the |
|
# gcc check below will do it for us? |
|
# set info [exec lipo -info /usr/lib/libSystem.dylib] |
|
# set plats [split [string trim [lindex [split $info :] 2]]] |
|
} |
|
if {[info exists ::env(osxmin)] && $::env(osxmin) ne ""} { |
|
set osxmin $::env(osxmin) |
|
} |
|
set universal 0 |
|
catch { |
|
set ppc [expr {[exec gcc -v -arch ppc > /dev/null 2>@stdout] eq ""}] |
|
set ppc64 [expr {[exec gcc -v -arch ppc64 > /dev/null 2>@stdout] eq ""}] |
|
set i386 [expr {[exec gcc -v -arch i386 > /dev/null 2>@stdout] eq ""}] |
|
set x86_64 [expr {[exec gcc -v -arch x86_64 > /dev/null 2>@stdout] eq ""}] |
|
} |
|
} |
|
|
|
# Note: The result of 'platform::generic' is used to restrict which of |
|
# the following blocks will be considered. |
|
|
|
# Note 2: The platform declarations are required to set up a proper |
|
# mapping in pkgIndex.tcl of a -pkg. |
|
|
|
# default on OSX ppc is universal containing ppc and x86 32 bit |
|
macosx-powerpc when $ppc |
|
macosx-powerpc compile gcc -c -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-powerpc link gcc -bundle -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-powerpc link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 |
|
macosx-powerpc strip |
|
|
|
# default on OSX intel is universal containing x86 32 and 64 bit |
|
macosx-ix86 when $i386 && $x86_64 |
|
macosx-ix86 compile gcc -c -arch i386 -arch x86_64 \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-ix86 link gcc -bundle -arch i386 -arch x86_64 \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-ix86 link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 |
|
macosx-ix86 strip |
|
macosx-ix86 platform macosx-ix86 $osxmin \ |
|
macosx-ix86 \ |
|
macosx-x86_64 |
|
|
|
# target for most common architectures |
|
macosx-most when $ppc && $i386 && $x86_64 |
|
macosx-most compile gcc -c -arch i386 -arch x86_64 -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-most link gcc -bundle -arch i386 -arch x86_64 -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-most link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 |
|
macosx-most strip |
|
macosx-most platform macosx-most $osxmin \ |
|
macosx-powerpc \ |
|
macosx-ix86 \ |
|
macosx-x86_64 |
|
|
|
# target for old universal, ppc and x86 32. |
|
macosx-universal when $ppc && $i386 |
|
macosx-universal compile gcc -c -arch i386 -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-universal link gcc -bundle -arch i386 -arch ppc \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-universal link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 |
|
macosx-universal strip |
|
macosx-universal platform macosx-universal $osxmin \ |
|
macosx-powerpc \ |
|
macosx-ix86 |
|
|
|
# target for all architectures |
|
macosx-all when $ppc && $ppc64 && $i386 && $x86_64 |
|
macosx-all compile gcc -c -arch i386 -arch x86_64 -arch ppc -arch ppc64 \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-all link gcc -bundle -arch i386 -arch x86_64 -arch ppc -arch ppc64 \ |
|
-isysroot $SDKROOT \ |
|
-mmacosx-version-min=$osxmin |
|
macosx-all link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 |
|
macosx-all strip |
|
macosx-all platform macosx-all $osxmin \ |
|
macosx-powerpc \ |
|
macosx-powerpc64 \ |
|
macosx-ix86 \ |
|
macosx-x86_64 |
|
|
|
# OSX ppc 32 bit |
|
macosx-ppc32 when $ppc |
|
macosx-ppc32 compile gcc -c -arch ppc |
|
macosx-ppc32 link gcc -bundle -arch ppc |
|
macosx-ppc32 link_preload -undefined dynamic_lookup |
|
macosx-ppc32 strip |
|
macosx-ppc32 platform macosx-powerpc |
|
|
|
# OSX ppc 64 bit |
|
macosx-ppc64 when $ppc64 |
|
macosx-ppc64 compile gcc -c -arch ppc64 |
|
macosx-ppc64 link gcc -bundle -arch ppc64 |
|
macosx-ppc64 link_preload -undefined dynamic_lookup |
|
macosx-ppc64 strip |
|
macosx-ppc64 platform macosx-powerpc64 |
|
|
|
# OSX x86 32 bit |
|
macosx-x86_32 when $i386 |
|
macosx-x86_32 compile gcc -c -arch i386 |
|
macosx-x86_32 link gcc -bundle -arch i386 |
|
macosx-x86_32 link_preload -undefined dynamic_lookup |
|
macosx-x86_32 strip |
|
macosx-x86_32 platform macosx-ix86 |
|
|
|
# OSX x86 64 bit |
|
macosx-x86_64 when $x86_64 |
|
macosx-x86_64 compile gcc -c -arch x86_64 |
|
macosx-x86_64 link gcc -bundle -arch x86_64 |
|
macosx-x86_64 link_preload -undefined dynamic_lookup |
|
macosx-x86_64 strip |
|
macosx-x86_64 platform macosx-x86_64 |
|
|
|
# Linux - 32 bit or 64 bit build - select using "-target" if you don't |
|
# want the platform default (32 on 32, 64 on 64). This requires |
|
# some work to detect the cpu class in use and then set a platform |
|
# with the proper variant name. |
|
|
|
if {[string match linux-* $platform]} { |
|
# platform = os-cpu(-compiler) |
|
set cpu [lindex [split $platform -] 1] |
|
|
|
switch -- $cpu { |
|
x86_64 - ix86 { |
|
set cpu32 ix86 |
|
set cpu64 x86_64 |
|
} |
|
* { |
|
#error "Unknown architecture" |
|
set cpu32 unknown32fixme_$cpu |
|
set cpu64 unknown64fixme_$cpu |
|
} |
|
} |
|
} |
|
|
|
linux-32-* compile gcc -c -m32 |
|
linux-32-* link gcc -shared -m32 |
|
linux-32-* platform linux-$cpu32 |
|
|
|
linux-64-* compile gcc -c -m64 |
|
linux-64-* link gcc -shared -m64 |
|
linux-64-* platform linux-$cpu64 |
|
|
|
# Windows - Check if bufferoverflowU.lib is required, or not. We |
|
# assume that "requiredness" coincides with "presence". IOW, if the |
|
# library is present in the LIB search paths, then it is required. |
|
# This should be ok, for linking to it when it is present but not |
|
# required, should do no harm. |
|
|
|
set msvc 0 |
|
if {[string match win32-* $platform]} { |
|
set cl [file nativename [lindex [auto_execok cl] 0]] |
|
if {$cl ne ""} { |
|
set msvc 1 |
|
|
|
set msvcbufferoverflowlib "" |
|
foreach p [split $::env(LIB) \;] { |
|
if {[llength [glob -nocomplain -directory $p bufferoverflowu.lib]]} { |
|
set msvcbufferoverflowlib bufferoverflowU.lib |
|
break |
|
} |
|
} |
|
|
|
set tmpfile $::env(TMP)/[pid].txt |
|
catch { exec $cl 2> $tmpfile > NUL: } msg |
|
#puts "M $msg" |
|
set chan [open $tmpfile r] |
|
set output [read $chan] |
|
#puts "O $output" |
|
close $chan |
|
file delete $tmpfile |
|
|
|
regexp {Version ([0-9.]*)} $output -> msvcversion |
|
#puts V=$msvcversion |
|
if {[package vcompare $msvcversion 15.00.30729.01] >= 0} { |
|
# VC9 or higher. -debug:full is not supported anymore. |
|
# VC9 - warning, VC10 - error |
|
set msvclinkdebug -debug |
|
# Enable local stack checks for buffer overflow |
|
set msvcstackchecks -GS |
|
# -GZ deprecated in favor of -RTC1 |
|
set msvcdebugchecks -RTC1 |
|
set msvclinkglobaloptimize -ltcg |
|
} else { |
|
set msvclinkdebug -debug:full |
|
set msvcdebugchecks -GZ |
|
set msvcstackchecks "" |
|
set msvclinkglobaloptimize "" |
|
} |
|
|
|
if {[package vcompare $msvcversion 14] >= 0} { |
|
# -Op not supported or needed. Use -fp instead to match Tcl |
|
set msvcfpopt -fp:strict |
|
set msvclinkworkingset "" |
|
} else { |
|
# -Op -> floating point consistency |
|
set msvcfpopt -Op |
|
# Working set optimization |
|
set msvclinkworkingset -ws:aggressive |
|
} |
|
} |
|
} |
|
|
|
# Windows - using 32-bit MS VC++ |
|
# |
|
# Note: the language option for cl is -TC for c and -TP for c++ or |
|
# it can treat single files -Tc<filename> |
|
# |
|
win32-ix86-cl when $msvc |
|
win32-ix86-cl compile cl -nologo -c |
|
win32-ix86-cl link link -nologo |
|
win32-ix86-cl embed_manifest mt -manifest [list $outfile].manifest -outputresource:[list $outfile]\;2 |
|
win32-ix86-cl preproc_define cl -nologo -E |
|
win32-ix86-cl preproc_enum cl -nologo -E |
|
win32-ix86-cl libinclude /LIBPATH: |
|
win32-ix86-cl object .obj |
|
win32-ix86-cl debug_symbols -W3 -Od -Zi $msvcstackchecks $msvcdebugchecks -MDd -D_DEBUG $msvcfpopt |
|
win32-ix86-cl optimize -W3 -O2 -MD $msvcstackchecks $msvcfpopt |
|
win32-ix86-cl output [list -Fo$outfile] |
|
win32-ix86-cl ldoutput -dll [list -out:$outfile] |
|
win32-ix86-cl link_debug $msvclinkdebug -debugtype:cv -verbose:lib -nodefaultlib:libc |
|
win32-ix86-cl link_release -release -opt:ref -opt:icf,3 $msvclinkworkingset -verbose:lib $msvclinkglobaloptimize |
|
win32-ix86-cl link_preload |
|
win32-ix86-cl link_rpath |
|
win32-ix86-cl strip |
|
win32-ix86-cl version cl |
|
win32-ix86-cl platform win32-ix86 |
|
|
|
# Windows - using 64-bit MS VC++ |
|
# |
|
# Note: the language option for cl is -TC for c and -TP for c++ or |
|
# it can treat single files -Tc<filename> |
|
# |
|
|
|
win32-x86_64-cl when $msvc |
|
win32-x86_64-cl copy win32-ix86-cl |
|
win32-x86_64-cl link_debug $msvclinkdebug -debugtype:cv -verbose:lib $msvcbufferoverflowlib |
|
win32-x86_64-cl link_release -release -opt:ref -opt:icf,3 $msvclinkworkingset -verbose:lib $msvclinkglobaloptimize $msvcbufferoverflowlib |
|
win32-x86_64-cl platform win32-x86_64 |
|
|
|
# Cross-compile for Windows using Xmingwin |
|
mingw32 target win32-ix86 |
|
mingw32 compile gcc -c -nostdlib |
|
mingw32 link gcc -shared |
|
mingw32 link_preload |
|
mingw32 sharedlibext .dll |
|
mingw32 tcl_platform(byteOrder) littleEndian |
|
mingw32 tcl_platform(machine) intel |
|
mingw32 tcl_platform(os) Windows NT |
|
mingw32 tcl_platform(osVersion) 5.0 |
|
mingw32 tcl_platform(platform) windows |
|
mingw32 tcl_platform(wordSize) 4 |
|
|
|
# Cross-compile for ARM (n770/Zaurus/etc) using Scratchbox et al |
|
linux-arm target |
|
linux-arm sharedlibext .so |
|
linux-arm tcl_platform(byteOrder) littleEndian |
|
linux-arm tcl_platform(machine) arm |
|
linux-arm tcl_platform(os) Linux |
|
linux-arm tcl_platform(osVersion) 2.6 |
|
linux-arm tcl_platform(platform) unix |
|
linux-arm tcl_platform(wordSize) 4 |
|
|
|
# hpux itanium, native cc, 32 and 64bit builds. |
|
# +z <=> -fPIC on hpux. |
|
# +DD64 invokes the 64bit mode. |
|
|
|
hpux-ia64_32-cc compile cc -c +z |
|
hpux-ia64_32-cc link ld -b |
|
hpux-ia64_32-cc preproc_define cc -E |
|
hpux-ia64_32-cc preproc_enum cc -E |
|
hpux-ia64_32-cc link_preload |
|
hpux-ia64_32-cc strip |
|
|
|
hpux-ia64-cc compile cc -c +z +DD64 |
|
hpux-ia64-cc link ld -b |
|
hpux-ia64-cc preproc_define cc -E |
|
hpux-ia64-cc preproc_enum cc -E |
|
hpux-ia64-cc link_preload |
|
hpux-ia64-cc strip |
|
|
|
# hpux, itanium, gcc |
|
# This works only if the -lgcc for 64bit is somewhere reachable. |
|
# hpux-ia64 gcc -c -fPIC -mlp64 |
|
|
|
hpux-parisc-cc compile cc -c +z +DAportable |
|
hpux-parisc-cc link ld -b |
|
hpux-parisc-cc preproc_define cc -E |
|
hpux-parisc-cc preproc_enum cc -E |
|
hpux-parisc-cc link_preload |
|
hpux-parisc-cc strip |
|
|
|
hpux-parisc64-cc compile cc -c +z +DA2.0W |
|
hpux-parisc64-cc link ld -b |
|
hpux-parisc64-cc preproc_define cc -E |
|
hpux-parisc64-cc preproc_enum cc -E |
|
hpux-parisc64-cc link_preload |
|
hpux-parisc64-cc strip |
|
|
|
# hpux-parisc, 64bit, gcc |
|
# |
|
# For this architecture gcc does not have compiler switches for change |
|
# between 32/64 results. Rather, gcc has to be built specifically to |
|
# produce either 32 or 64 bit binaries. And if both results are |
|
# wanted, it has to be built and installed twice (in different |
|
# directories). |
|
# |
|
# HP provides precompiled binaries of these two variants at |
|
# http://www.hp.com/go/gcc. Install the desired compiler(s). In case |
|
# of having both ensure that the desired one is first in the PATH. |
|
|
|
# aix, rs6000/powerpc, native cc, 32bit build |
|
# The link line is pretty much copied from Tcl. |
|
|
|
# NOTE: ldAix was copied from Tcl into a directory in the PATH. |
|
|
|
# It might make sense to stuff this file into critcl and then copy it |
|
# out when needed, either into a fixed place, or tempdir. In the |
|
# latter case the link line needs some way of getting the value |
|
# substituted into it. I have no idea of the critcl config allows |
|
# that, and if yes, nor how. |
|
|
|
# cc_r = something with thread-enabled. better use it than cc and have |
|
# things fail. |
|
|
|
aix-powerpc-cc compile cc_r -c -O |
|
aix-powerpc-cc link ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc |
|
aix-powerpc-cc preproc_define cc -E |
|
aix-powerpc-cc preproc_enum cc -E |
|
aix-powerpc-cc link_preload |
|
aix-powerpc-cc strip |
|
|
|
aix-powerpc64-cc compile cc_r -c -O -q64 |
|
aix-powerpc64-cc link ldAix /bin/ld -b64 -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc |
|
aix-powerpc64-cc preproc_define cc -E |
|
aix-powerpc64-cc preproc_enum cc -E |
|
aix-powerpc64-cc link_preload |
|
aix-powerpc64-cc strip |
|
|
|
aix-powerpc-xlc compile xlc_r -c -O |
|
aix-powerpc-xlc link ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc |
|
aix-powerpc-xlc preproc_define xlc -E |
|
aix-powerpc-xlc preproc_enum xlc -E |
|
aix-powerpc-xlc link_preload |
|
aix-powerpc-xlc strip |
|
|
|
aix-powerpc64-xlc compile xlc_r -c -O -q64 |
|
aix-powerpc64-xlc link ldAix /bin/ld -b64 -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc |
|
aix-powerpc64-xlc preproc_define xlc -E |
|
aix-powerpc64-xlc preproc_enum xlc -E |
|
aix-powerpc64-xlc link_preload |
|
aix-powerpc64-xlc strip |
|
|
|
# Solaris, Sparc and Intel platforms, 32 and 64 bit |
|
|
|
solaris-x86_64-cc compile cc -m64 -c -KPIC |
|
solaris-x86_64-cc link /usr/ccs/bin/ld -L/lib/64 -G -lc -lnsl |
|
solaris-x86_64-cc preproc_define cc -E |
|
solaris-x86_64-cc preproc_enum cc -E |
|
solaris-x86_64-cc version cc -V |
|
solaris-x86_64-cc link_preload |
|
solaris-x86_64-cc strip |
|
|
|
solaris-x86_64-gcc compile gcc -m64 -c -fPIC |
|
solaris-x86_64-gcc link gcc -m64 -shared |
|
|
|
solaris-ix86-cc compile cc -m32 -c -KPIC |
|
solaris-ix86-cc link /usr/ccs/bin/ld -G -lc -lnsl |
|
solaris-ix86-cc preproc_define cc -E |
|
solaris-ix86-cc preproc_enum cc -E |
|
solaris-ix86-cc version cc -V |
|
solaris-ix86-cc link_preload |
|
solaris-ix86-cc strip |
|
|
|
solaris-sparc-cc compile cc -KPIC -c |
|
solaris-sparc-cc link /usr/ccs/bin/ld -G -lc -lnsl |
|
solaris-sparc-cc preproc_define cc -E |
|
solaris-sparc-cc preproc_enum cc -E |
|
solaris-sparc-cc version cc -V |
|
solaris-sparc-cc link_preload |
|
solaris-sparc-cc strip |
|
|
|
solaris-sparc64-cc compile cc -KPIC -xarch=v9 -c |
|
solaris-sparc64-cc link /usr/ccs/bin/ld -G -lc -lnsl |
|
solaris-sparc64-cc preproc_define cc -E |
|
solaris-sparc64-cc preproc_enum cc -E |
|
solaris-sparc64-cc version cc -V |
|
solaris-sparc64-cc link_preload |
|
solaris-sparc64-cc strip |
|
|
|
solaris-sparc64-gcc compile gcc -m64 -c -fPIC -mcpu=v9 |
|
solaris-sparc64-gcc link gcc -m64 -shared -mcpu=v9
|
|
|