Commit | Line | Data |
85e6fe83 |
1 | From: doughera@lafcol.lafayette.edu (Andy Dougherty) |
2 | Subject: RE: First stab at Configure Support for perl5alpha |
3 | Date: Fri Apr 29 16:43:18 EDT 1994 |
4 | |
5 | I have incorporated various fixes/suggestions into the Configure |
6 | support for perl5alpha8. The main changes are the following: |
7 | -Better incorporation of extensions in Makefile.SH. |
8 | -miniperlmain.c no longer requires dynamic loading. |
9 | -perl can use dynamic loading if available, but extensions can |
10 | also be compiled in statically, if desired. |
11 | -perlmain.c now built from miniperlmain.c by writemain.SH, |
12 | which is called in the makefile. Only the requested extensions |
13 | are compiled in. |
14 | -dynamic loading broken up into dl_sunos.c, dl_next.c, dl_hpux.c. |
15 | Configure will look for dl_$osname.c, where osname is determined |
16 | at the same time as hints are suggested. |
17 | -Configure support added for sdbm library (ext/dbm/sdbm/libsdbm.a). |
18 | This still needs testing. |
19 | -Tests for extensions now check in %Config to see if that extension |
20 | is available. Note, however, the sdbm is not an *optional* |
21 | extension, so it will fail (and make test will complain) |
22 | if sdbm is not installed. Thus perl programmers can safely assume |
23 | that at least sdbm is available. |
24 | -configpm now correctly handles comments at the end of config.sh |
25 | (which Configure places there if a hints file tries to propagate |
26 | unknown variables, such as libswanted). |
27 | -makedepend now works in UU/ subdirectory (so it doesn't delete |
28 | miniperlmain.c on systems with 14-character file name limits). |
29 | -ext/typemap: My compiler couldn't handle some of the more complex |
30 | casts, so an intermediate unsigned long variable has been introduced. |
31 | I should probably re-do this in terms of a CRIPPLED_CC macro in |
32 | XSUB.h, but it's not clear to me that it's worth it. |
33 | -some new or updated hints files. |
34 | -miscellaneous bug fixes. |
35 | |
36 | Problems remaining: |
37 | |
38 | -POSIX module is still under construction. |
39 | -Dynamic loading of extensions works on SunOS 4.1.3, but it |
40 | might need modifications to work with other systems. |
41 | -It is possible to do mixed dynamic/static loading, that is, |
42 | load commonly used modules statically and other modules |
43 | dynamically. Currently, this must be done by hand by setting |
44 | extobj in makefile and hand-editing perlmain.c. |
45 | The newXSUB line for the static module must be moved into |
46 | the #ifdef USE_DYNAMIC_LOADING section in perlmain.c, and the |
47 | module .o file must be added to the extobj= line in makefile. |
48 | -lib/[sn]dbm.t tests create a new file with a hard-wired set of |
49 | flags. These should be replaced with O_CREAT | O_RDWR, which |
50 | will be available from POSIX.pm, once it is up and running. |
51 | For now, you might have to change the 0x202 to 0x102 (or perhaps |
52 | 0x402) in lib/[sn]dbm.t for the tests to succeed. |
53 | -I have applied several suggested fixes for use on the DEC alpha, |
54 | but I haven't been able to keep up with all of them. |
55 | -Though CRIPPLED_CC works, it might be desireable to have Configure |
56 | try to figure it out. |
57 | |
58 | To apply: Obtain a clean copy of perl5alpha8 |
59 | cd <your perl5alpha8 directory> |
60 | patch -p1 < <this patch> |
61 | |
62 | As before, I am willing to continue to coordinate and develop the |
63 | Configure support. |
64 | |
65 | Thanks to the following for various and often quite substantial |
66 | patches and suggestions: |
67 | Peter Galbavy <peter@wonderland.org> |
68 | Jarkko Hietaniemi <jhi@alpha.hut.fi> |
69 | Andreas Koenig <koen1830@w203zrz.zrz.tu-berlin.de> |
70 | Raphael Manfredi <ram@acri.fr> |
71 | David Meyer <dmm0t@rincewind.mech.virginia.edu> |
72 | Jeff Okamoto <okamoto@hpcc101.corp.hp.com> |
73 | John Stoffel <john@WPI.EDU> |
74 | Larry Wall (lwall@netlabs.com> |
75 | |
76 | Andy Dougherty doughera@lafcol.lafayette.edu |
77 | Dept. of Physics Phone: (610) 250-5212 |
78 | Lafayette College FAX: (610) 250-9263 |
79 | Easton, PA 18042-1782 |
80 | |
81 | ================================================================= |
82 | |
83 | From: doughera@lafcol.lafayette.edu (Andy Dougherty) |
2304df62 |
84 | Subject: First stab at Configure Support for perl5alpha |
85 | Date: Mon Apr 4 15:13:50 EDT 1994 |
86 | |
87 | I've updated Configure to support perl5alpha7. Consider this a |
88 | first attempt. I am willing to continue to develop and coordinate |
89 | improvement on this. I've included the metaconfig units (in the U/ |
90 | directory) that I developed for this. New units, or fixes to these, |
91 | are welcome. |
92 | |
93 | Here's what should work: |
94 | -You should be able to Configure and run miniperl on any platform |
95 | that supported perl4. |
96 | |
97 | -Configure should be more amenable to hints. In particular, |
98 | you can remove directories from the library search path with |
99 | a hints file. See hints/solaris_2_3.sh for an example. |
100 | |
101 | Here's what needs improvement: |
102 | -Including dynamic loading on works on SunOS 4.1.x, as far as I |
103 | know, but nowhere else. I don't understand enough about what's |
104 | going on to put in stub functions for those who might want/have to |
105 | use another dynamic linking package or static linking. Configure |
106 | assumes you want to use the dl.c source file if you try to use |
107 | dynamic linking. Still, you should be able to get miniperl up and |
108 | running. |
109 | |
110 | -I haven't made any changes to installperl. |
111 | |
112 | -Makefile.SH (and hence makefile) should arrange to pick up the |
113 | appropriate .pm modules from the extensions directory and install |
114 | them. I haven't done anything about that. |
115 | |
116 | -I didn't incorporate any of the Configure changes into the |
117 | extension files, partly because I couldn't get past the dynamic |
118 | loading problem on my main machine, but mostly because I haven't |
119 | had the time yet. That's near the top of the ToDo list. |
120 | |
121 | -I made no changes to the x2p/ subdirectory, though some might |
122 | be probably needed. |
123 | |
124 | -Lots of the hints files are probably now out of date. |
125 | The solaris_2_[23].sh ones are completely untested guesses. |
126 | Fixed/updated version are welcome. |
127 | |
128 | -The defaults are to use perl's malloc and compile with |
129 | -g -DDEBUGGING. I was unable to get perl to pass all tests |
130 | with anything else. Part of the problem may be the stupid stub |
131 | functions I inserted in dump.c and sv.c, but there may be other |
132 | malloc/free problems elsewhere. |
133 | |
134 | -Whatever else I broke to get this to work. |
135 | |
136 | Thanks to |
137 | Tim Bunce <timbo@ig.co.uk>, |
138 | Manoj Srivastava <srivasta@pilgrim.umass.edu>, and |
139 | Bill Hertzing <wgh@fns.com> |
140 | for various suggestions and help. Thanks to Raphael Manfredi for |
141 | much work on dist-3.0. |
142 | |
143 | Andy Dougherty doughera@lafcol.lafayette.edu |
144 | Dept. of Physics Phone: (610) 250-5212 |
145 | Lafayette College FAX: (610) 250-9263 |
146 | Easton, PA 18042-1782 |