Hallo, On Wed, 05 Feb 2003, Ralf Corsepius wrote:
Am Die, 2003-02-04 um 23.49 schrieb David Haller:
On Tue, 04 Feb 2003, Christian Boltz wrote:
Am Montag, 3. Februar 2003 21:23 schrieb David Haller:
On Mon, 03 Feb 2003, Christian Boltz wrote:
Ich habe es mir zur Angewohnheit gemacht, dass ich moeglichst _immer_ ':=' verwende, es sei denn, ich will explizit, dass das zuzuweisende jedesmal ausgewertet wird... Keine gute Idee. ':=' ist nicht portabel, weshalb es von Automake auch nicht verwendet wird.
Ah. OK.
und geschweifte Klammern um die Variablennamen?
Oehm, ehrlich gesagt, weiss nicht.
$() .. Makefile-Variablen. ${} .. Shell/Environment-Variablen.
Manche "make"s unterscheiden da sehr streng, andere makes sind da etwas "lässiger" (GNU-make gehört "leider" dazu). Das kann zu "netten" Überraschungen führen, wenn man versucht mit gnu-make geschriebene, vorgeblich portable Makefiles auf anderen U*ixen zu verwenden.
Und bin grad auch zu faul nachzuschauen.
Ah. Danke :)
Das hab ich schlicht aus den autoconf-Makefiles... ;) Automake-Makefiles, autoconf-Makefile's gibt es nicht ;)
Oh, stimmt. letzters jagt ja das .in durch...
Automake verwendet für make-Variablen nur runde Klammern und '='.
Meinen bescheidenen Makefile-Kenntnissen zufolge werden die Variablen mit $(...) geklammert und mit einem einfachen = zugewiesen. So ist es.
und dann installiere mal 2 Versionen einer lib... Wenn die eine in /usr [/share/doc] landet und die andere in /usr/local [/share/doc], dann ist alles ok, wenn nicht...
IMNSHO muss '${datadir}/doc' der default sein. Für docdir?
Jep.
Wäre eine sinnvolle Möglichkeit. $(docdir) wird von den GNU-Standards nicht erfasst, ist somit frei wählbar. Was im Endeffekt wirklich sinnvoll ist, hängt vom Sinn und Zweck dieser Files ab.
*g* Hab also nicht nur Unfug geschrieben ;)
Außerdem heißt das Konfigurationsverzeichnis für den neuen Apache2 AFAIK /etc/apache2... Nein, ist installationsabhängig bzw. Vendor-spezifisch, d.h. es kann buchstäblich irgendwo liegen
(RH z.B. verwendet /etc/httpd mit /etc/httpd/conf/httpd.conf und Modulkonfigurationen in /etc/httpd/conf.d/*.conf).
Evtl. koennte man da auch ein kleines "configure" schreiben, dass Pfade z.B. abfragt/rausfindet...
Ich würde hier schlicht und einfach eine configure-Option einführen (--with-httpd=<path> o.ä.) und dann den Pfad und die darin enthaltenen Dateien auf Verwendbarkeit für eure Zwecke testen.
Jup. Naja, ein paar defaults kann man ja anbieten (und falls nix gefunden wird abbrechen).
Könnte schwierig werden, siehe oben ;-)
Och, nicht wirklich ;) Doch, das kann lustig werden ;)
Apropos: Wie waere's mit: `apxs -q sysconfdir` als default? Das sollte doch eigentlich meist klappen...
Schau dir mal die Tricks an mit denen autoconf's AC_PATH_PROG und Co. arbeiten.
Wuest. Ja.
[Wie meinte doch neulich ein OS/2 oder CygWin-User: PATH=C:\backspace\return;E:\tab\newline;D:\home W:\pakete\mypaket\configure --prefix=F:\fondlinge
Oder auch:
PATH="${HOME}/Oktoberfest 2003:$PATH" configure '--prefix=Auf geht\'s' ]
Uhoh!
PS: Da wir gerade dabei sind, gleich noch eine Frage: make install verhält sich unterschiedlich, je nachdem, ob es als root oder als User aufgerufen wird [1] (wird über `whoami` getestet). Just don't!
*hehe*
Gibt es da irgendwelche Bedenken oder bessere Möglichkeiten? Es gäbe viele Möglichkeiten, aber die von Euch scheinbar gewählte ist so ziemlich die Schlechteste (Sorry)
Ein paar Alternativen:
1. Nur systemweite Installation vorsehen und darin ein User-Install-Script einbauen, das eine user-spezifische Installation einrichtet.
2. Keinen Unterschied zwischen user- und systemweiter Installation machen, es dem User überlassen, wie er seine userspezifische Installation einrichtet (mittel entsprechender Konfigurationsoptionen)
Ack. Ich tendiere zu 2... Das liesse sich dann evtl. sogar komplett via MakeMaker realisieren. Hab Christian grad nen Anfang gemailt ;) -dnh -- [..] the Corporation decided that it was better to spend $N*1e6 on [..] than to spend $X*1e6 to [..] (where X << N from what I've heard). But at least now we're fully buzzword-compliant. -- Garrett Wollman in asr