On Thu, 13 May 2004 17:23:18 -0700, Jeff Clites wrote: >> xxx_STATIC_BUILD cflags and ldflags to build static parrot > We should make it clear that we are talking about building a static lib > (to distinguish from what the next macro is intended for)--so how > about: > xxx_STATIC_LIB_BUILD or xxx_LIB_STATIC_BUILD > (I'm worried that xxx_STATIC_BUILD by itself isn't clear.)
xxx_LIB_STATIC_BUILD is fine with me. >> xxx_STATIC_USE cflags and ldflags to use static parrot > How about: xxx_STATIC_LINK I was more thinking along the line of "building the library" (..._BUILD) and "using the library" (..._USE). >> PARROT_STATIC_NAME full, platform dependent name of static parrot lib > How about: LIBPARROT_STATIC Agreed. >> - When building / using a shared parrot the compiler macro >> PARROT_LIB_DYNAMIC will be defined, for static PARROT_LIB_STATIC > > What will these be used for? Traditionally, there aren't compile-time > difference when building a static v. dynamic library, I believe. Maybe > this is not the case for Windows? Dan has already read my thoughts on that, and posted them. >> - When building parrot the compiler macro PARROT_LIB_EXPORTS will be >> defined, when using parrot PARROT_LIB_IMPORTS > Again, for what use? > I'm not against these last 2 sets of macros--just wondering what the > intended use is. It's used to let the compiler know that the mentioned symbols are exported/imported. The two macros will probably only be used to get the PARROT_API macro, for those platforms that use it, right. Eg, Microsoft uses "__declspec(dllimport) void someFunction()" to let the compiler know that someFunction should be imported from a DLL. Maybe other compilers have a similar kludge. So, here's the new complete list of things. Hope you like it. Makefile CFLAGS_COMMON common compiler flags LDFLAGS_COMMON common linker flags CFLAGS_LIB_STATIC_BUILD cflags to build static parrot LDFLAGS_LIB_STATIC_BUILD lflags to build static parrot CFLAGS_LIB_STATIC_USE cflags to use static parrot LDFLAGS_LIB_STATIC_USE lflags to use static parrot LIBPARROT_STATIC full, platform dependent name of static parrot lib CFLAGS_LIB_DYNAMIC_BUILD cflags to build dynamic parrot LDFLAGS_LIB_DYNAMIC_BUILD lflags to build dynamic parrot CFLAGS_LIB_DYNAMIC_USE cflags to use dynamic parrot LDFLAGS_LIB_DYNAMIC_USE lflags to use dynamic parrot LIBPARROT_DYNAMIC full, platform dependent name of dynamic parrot lib C PARROT_LIB_STATIC compiling for static parrot PARROT_LIB_DYNAMIC compiling for dynamic parrot PARROT_LIB_EXPORTS export parrot symbols (compiling parrot lib) PARROT_LIB_IMPORT import parrot symbols (using parrot lib) PARROT_API declare as API Ron