|
From: Keith A. J. <Ke...@AG...> - 2001-08-08 15:07:11
|
Aye, shared libraries, a whole new 17 levels of obfuscation and versioning issues. :) I'm in no hurry to start working on them. :) Keith -----Original Message----- From: cup...@li... [mailto:cup...@li...]On Behalf Of Craig Reagan Sent: Wednesday, August 08, 2001 11:03 AM To: cup...@li... Subject: RE: [Cup-Dev] Source Tree Re-Structuring I'm not familiar with .so file in *nix either, DLL's are pretty straight forward. This is how all the api calls are made from a win32 pgm., you typically create an import lib for each dll and then link that with your program. You don't have to do it that way but it's much easier than manually loading the DLL and finding the subsequent address for each function call. Then you can include the DLL's with the import libs for a source distribution, but of course the import libs won't be compatible with MSVC++. Craig -----Original Message----- From: cup...@li... [mailto:cup...@li...]On Behalf Of Keith A. Jackson Sent: Wednesday, August 08, 2001 9:50 AM To: cup...@li... Subject: RE: [Cup-Dev] Source Tree Re-Structuring No. In time, I want the libraries to also be built as shared libraries. .so files for Linux and DLL files for windows. I'm not really familiar with this subject, so, I'll have to learn about it yet. Including static libraries isn't very useful, as it's really only worthwhile to a developer. Shared libraries are the only libraries I'd want in binary releases, as they're the only libraries really worth anything to an end-user. (i.e., installing a Cup upgrade with new DLLs would thus upgrade any Cup Applications on the user's computer, distributing static libraries does not, and is only worthwhile if the cup applications are rebuilt) Keith -----Original Message----- From: cup...@li... [mailto:cup...@li...]On Behalf Of Craig Reagan Sent: Wednesday, August 08, 2001 10:41 AM To: cup...@li... Subject: RE: [Cup-Dev] Source Tree Re-Structuring The win32setup Makefile looks like no biggie. What about the two new libs, want them included in the binary distribution? Craig -----Original Message----- From: cup...@li... [mailto:cup...@li...]On Behalf Of Keith A. Jackson Sent: Wednesday, August 08, 2001 9:27 AM To: Cup Language Development (E-mail) Subject: [Cup-Dev] Source Tree Re-Structuring Okay, I think the re-organization that was done on the CVS tree is worthy of some description, so here goes. =20 All sources have been split into one of three sub-directories, common, vm, and compiler. These sources are either part of the vm library, the compiler library, or, a library common to both. The only source still in the root src directory is the source file that uses the libraries to build the cup binary itself. =20 The build process builds the common libraries (common and dmem library), and then the compiler library, and then the vm library. These are intermediate libraries. The next step is combining the libraries. =20 The Cup VM library won't work without the common library routines, so, they are combined like so: =20 common, dmem, vm: libcupvm.a common, dmem, compiler: libcupc.a common, dmem, vm, compiler: libcup.a =20 You can see the end result is three libraries. linking to both libcupc and libcupvm is illegal, since that would mean the common libraries are included twice, and you ought to have namespace collisions. =20 Also of note is the include directory. Currently, all the old header files have been merged into one huge cup.h header. This is temporary. I will work on cleaning this up over time. Also, I'm not sure if libcupc and libcupvm will really work by themselves. They may not. I'm not that worried about it until I get the CupAPI documented and implemented, then I'll make sure it all works to that specification. =20 I don't think the winsetup Makefile will function anymore. Needs testing with the new src structure. =20 Keith - Randomly making huge changes to piss everyone off :) =20 =20 |