scs@lokkur.UUCP (Steve Simmons) (05/07/89)
Two related problems with Configure, and a suggested solution that addresses both. Problem 1: early on in the processing, Configure dumps a copy of the name table in libc.a. Later is uses that table to see what functions are available in your standard library. On the UNIX PC there are shared libraries which I cannot add to. Therefore when I add functions, they go into liblocal.a. In there are some BSD emulation things (index, rindex, bzero, etc), some the BRL directory package, and a number of other (presumably :-)) useful things. The linker I use has been hacked to use the shared library followed by liblocal.a. On the whole this works pretty good. With Configure it's a potential problem. Configure can miss a number of functions because it doesn't see liblocal.a. Problem 2: Configure uses the c preprocessor to get predefined names. If you are using an alternate compiler like gcc, it will use the wrong preprocessor. I'd like to see two changes made to Configure to handle this. First, all questions involving the C compiler, libraries, link and compile switches, etc, should be grouped together. This makes good sense in general, and will make the other suggested changes easier. Second, they should be placed at or near the beginning of Configure, before the name table is read *and the data used in later processing*. Now if an alternate c compiler is used, use it with -E for name processing. If additional standard libraries are used (not to be confused with shared libraries, whose processing should be left as is), their contents should be searched as well. -- Steve Simmons ...sharkey!lokkur!scs scs@lokkur.dexter.mi.us "Gordon Way's astonishment at suddenly being shot dead was nothing to his astonishment at what happened next." -- Douglas Adams