Am Don, 2003-05-15 um 13.11 schrieb David Haller:
Hallo,
On Thu, 15 May 2003, Ralf Corsepius wrote:
Am Mit, 2003-05-14 um 23.12 schrieb David Haller:
On Wed, 14 May 2003, Stefan Onken wrote:
am Mittwoch, 14. Mai 2003 um 17:10 schrieb David Haller [..]
webserver:~/000/qmailadmin-1.0.6 # ./configure [..] --includedir=/home/vpopmail/ --libdir=/home/vpopmail/
--libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include]
Du solltest also
--includedir=/home/vpopmail/include --libdir=/home/vpopmail/lib
das ist nun interessant, da ich das GENAU anders verstanden habe. Ich dachte ich geben den PREFIX ein, und /lib und /include haengt er selber an.
Nein. Doch.
Nein. Wie du unten selbst schreibst. Das PREFIX in der Frage von Stonki oben bezog sich auf das "PREFIX" in der Defaultangabe von --libdir=. Und er dachte, es reicht, wenn man den "PREFIX"-Teil von --libdir, z.B. "--libdir=/blubb" angibt und dies dann automatisch noch um "/lib" zu "/blubb/lib" ergaenzt wird.
OK, das ist etwas anderes und ich verstand miss.
Du hast dich aber natuerlich auf das PREFIX von --prefix=/blubb bezogen und das wird ja dann automatisch zu libdir='${prefix}/lib' -- es sei denn, man setzt libdir explizit mit --libdir=...
Das "PREFIX" in den Angaben der Defaults fuer die Optionen ist ein Platzhalter fuer die jew. gueltige prefix, die man evtl. angegeben hat oder die eben per default (meist /usr/local) gesetzt wurde. Nein, mit PREFIX ist hier der Wert der mittels --prefix=PREFIX übergeben wird, gemeint.
Das meinte ich. War bloed formuliert. Das PREFIX bei den --*dir Optionen steht fuer das PREFIX das (evtl.) durch --prefix=PREFIX uebergeben wird oder eben (ohne --prefix) fuer die default-prefix.
[..]
Die Expandierung findet dann erst im generierten Makefile statt Ja.
bzw. u.U. (in seltenen Faellen) sogar erst von der von make aufgerufenen shell... Das wäre ein Bug.
Wieso? *g* Und u. bes. U. kann das sogar sinnvoll sein *eg*. z.B. um einen Shell-Befehl zu definieren, der dann erst in der shell in einer Regel expandiert werden soll. Weil diese Variablen von make expandiert werden sollen ;)
Ein Klassiker in diesem Zusammenhang ist die Behandlung von LOCALEDIR: [Aus info://gettext] To make LOCALEDIR known to the program, add the following lines to Makefile.in: datadir = @datadir@ localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ Note that `@datadir@' defaults to `$(prefix)/share', thus `$(localedir)' defaults to `$(prefix)/share/locale'. Beachte: localedir wird von make expandiert!
Dafuer gibt's ggfs. die Optionen '--cflags=' bzw. '--libs' Nein.
Derartige Flags werden von configure-Scripten normalerweise nicht angeboten.
Hab ich schon oefters gesehen...
Nun, IIRC hat Lyx z.B. derartige Optionen - Wenn sie meinen. Es steht jedem Autor frei zu tun und zu lassen was er will. Doch glaube mir, so etwas ist gröbster Unfug und lediglich ein Beweis dafür, dass die Autoren nicht verstanden haben, wie die Dinge funktionieren oder aber das die Konfiguration eine Paketes schlecht designed ist. Ralf