ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/hints/rhapsody.sh
Revision: 1.1
Committed: Thu Jun 30 14:27:07 2005 UTC (21 years, 3 months ago) by root
Content type: application/x-sh
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 ##
2     # Rhapsody (Mac OS X Server) hints
3     # Wilfredo Sanchez <wsanchez@wsanchez.net>
4     ##
5    
6     ##
7     # Paths
8     ##
9    
10     # Configure hasn't figured out the version number yet. Bummer.
11     perl_revision=`awk '/define[ ]+PERL_REVISION/ {print $3}' $src/patchlevel.h`
12     perl_version=`awk '/define[ ]+PERL_VERSION/ {print $3}' $src/patchlevel.h`
13     perl_subversion=`awk '/define[ ]+PERL_SUBVERSION/ {print $3}' $src/patchlevel.h`
14     version="${perl_revision}.${perl_version}.${perl_subversion}"
15    
16     # BSD paths
17     case "$prefix" in
18     '')
19     # Default install; use non-system directories
20     prefix='/usr/local'; # Built-in perl uses /usr
21     siteprefix='/usr/local';
22     vendorprefix='/usr'; usevendorprefix='define';
23    
24     # Where to put modules.
25     sitelib="/Local/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also
26     vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules
27     ;;
28    
29     '/usr')
30     # We are building/replacing the built-in perl
31     siteprefix='/usr/local';
32     vendorprefix='/usr/local'; usevendorprefix='define';
33    
34     # Where to put modules.
35     sitelib="/Local/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also
36     vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules
37     ;;
38     esac
39    
40     ##
41     # Tool chain settings
42     ##
43    
44     # Since we can build fat, the archname doesn't need the processor type
45     archname='rhapsody';
46    
47     # nm works.
48     usenm='true';
49    
50     # Libc is in libsystem.
51     libc='/System/Library/Frameworks/System.framework/System';
52    
53     # Optimize.
54     optimize='-O3';
55    
56     # -fno-common because common symbols are not allowed in MH_DYLIB
57     ccflags="${ccflags} -fno-common"
58    
59     # Unverified whether this is necessary on Rhapsody, but the test shouldn't hurt.
60     # At least on Darwin 1.3.x:
61     #
62     # # define INT32_MIN -2147483648
63     # int main () {
64     # double a = INT32_MIN;
65     # printf ("INT32_MIN=%g\n", a);
66     # return 0;
67     # }
68     # will output:
69     # INT32_MIN=2.14748e+09
70     # Note that the INT32_MIN has become positive.
71     # INT32_MIN is set in /usr/include/stdint.h by:
72     # #define INT32_MIN -2147483648
73     # which seems to break the gcc. Defining INT32_MIN as (-2147483647-1)
74     # seems to work. INT64_MIN seems to be similarly broken.
75     # -- Nicholas Clark, Ken Williams, and Edward Moy
76     #
77     case "$(grep '^#define INT32_MIN' /usr/include/stdint.h)" in
78     *-2147483648) ccflags="${ccflags} -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN" ;;
79     esac
80    
81     # cpp-precomp is problematic.
82     cppflags='${cppflags} -traditional-cpp';
83    
84     # This is necessary because perl's build system doesn't
85     # apply cppflags to cc compile lines as it should.
86     ccflags="${ccflags} ${cppflags}"
87    
88     # Shared library extension is .dylib.
89     # Bundle extension is .bundle.
90     ld='cc';
91     so='dylib';
92     dlext='bundle';
93     dlsrc='dl_dyld.xs';
94     usedl='define';
95     cccdlflags='';
96     lddlflags="${ldflags} -bundle -undefined suppress";
97     ldlibpthname='DYLD_LIBRARY_PATH';
98     useshrplib='true';
99    
100     ##
101     # System libraries
102     ##
103    
104     # vfork works
105     usevfork='true';
106    
107     # our malloc works (but allow users to override)
108     case "$usemymalloc" in
109     '') usemymalloc='n' ;;
110     esac
111    
112     #
113     # The libraries are not threadsafe in Rhapsody
114     #
115     # Fix when Apple fixes libc.
116     #
117     case "$usethreads$useithreads" in
118     *define*)
119     cat <<EOM >&4
120    
121    
122    
123     *** Warning, there might be problems with your libraries with
124     *** regards to threading. The test ext/threads/t/libc.t is likely
125     *** to fail.
126    
127     EOM
128     ;;
129     esac
130    
131     ##
132     # Build process
133     ##
134    
135     # Case-insensitive filesystems don't get along with Makefile and
136     # makefile in the same place. Since Darwin uses GNU make, this dodges
137     # the problem.
138     firstmakefile=GNUmakefile;