8 Dec 11:29
Building latest Open Dylan for Mac OS X
From: Dustin Voss <d_j_v <at> mac.com>
Subject: Building latest Open Dylan for Mac OS X
Newsgroups: gmane.comp.lang.dylan.gwydion.devel
Date: 2007-12-08 10:33:23 GMT
Subject: Building latest Open Dylan for Mac OS X
Newsgroups: gmane.comp.lang.dylan.gwydion.devel
Date: 2007-12-08 10:33:23 GMT
Hey all. I have gotten Open Dylan to compile on Mac OS X. The diff (against revision 11530) is at <http://idisk.mac.com/d_j_v-Public/Under%20Development/fundev.diff >. Applying the diff gives you build instructions in README.txt. I will do the check-in a few days from now. The sticking point was the copy-bytes argument order change in the core libraries. Originally, libraries from 1.0beta4 were being linked in to the latest version (I'll call it beta5) to fill in for beta5 libraries that hadn't been compiled yet. Because of the argument order change, the copy-bytes methods and their callers weren't always in agreement about which argument meant what. This led to core dumps and anguish. The solution was to rewrite parts of the build system. Beta5 gets rid of the 4 bootstrap stages and replaces it with a 2-stage process. In the first stage (the bootstrap stage), the beta4 libraries and compiler are used to build the minimal beta5 libraries and compiler. In the second stage (the installation stage), the beta5 compiler and libraries from the first stage are used to build the beta5 libraries and compiler in the installation location. This allows the installation to benefit from any extra optimizations introduced by new compiler code. To keep the beta5 libraries from linking to the beta4 libraries, I altered admin/build/fdmake.pl to do a dependency analysis to ensure that prerequisite beta5 libraries are always built before their dependents are. Since Dylan doesn't allow circular dependencies, this works out, and the beta4 libraries are never needed or linked in. I put in some other improvements as well. Now, you only need superuser privileges when running "make install"; you don't need them for the bootstrap stage. I also enabled the build-aux directory to contain various ./configure byproducts so that they don't clutter the main directory. There are future improvements that someone might like to do. I'd like an installation process that adheres more closely to GNU standards, and a packaging process. One needed improvement would be the ability to rebuild an individual library from sources in the working directory. I think the only way to rebuild a library in this beta5 system is to run "make clean" and rebuild everything. One solution to this problem would use a make target like "lib%" to allow the user to specify an arbitrary library to find and rebuild. -- -- Gd-hackers mailing list Gd-hackers <at> gwydiondylan.org https://www.opendylan.org/mailman/listinfo/gd-hackers
RSS Feed