Πώς να δημιουργήσω και να εγκαταστήσω μια ενότητα .so με autotools / libtool χωρίς βιβλιοθήκες .la και .a εγκαθίσταται επίσης σε --prefix path;
Αυτήν τη στιγμή χρησιμοποιώ το ακόλουθο Makefile.am:
lib_LTLIBRARIES = libCurlDownloader.la
libCurlDownloader_la_SOURCES = Curl.cpp
libCurlDownloader_la_LDFLAGS = -module -avoid-version
Λειτουργεί, αλλά εκτός από το libCurlDownloader.so εγκαθιστά επίσης libCurlDownloader.la και libCurlDownloader.a, τι είναι ανεπιθύμητο.
Ενημέρωση # 1
Είναι δυνατό να δημιουργήσετε .a να μην δημιουργηθεί, χρησιμοποιώντας είτε το
./configure --disable-static
είτε το
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
στο configigure.ac
Αλλά εξακολουθεί να είναι το ερώτημα πώς να μην κάνετε εγκατάσταση .la στην εγκατάσταση - επιδιόρθωση ενώ έχετε εγκαταστήσει .so.
Ενημέρωση # 2
Είναι δυνατή η κατάργηση αρχείων .la από την εγκατάσταση - επιδιόρθωση χρησιμοποιώντας
install-exec-hook: find $(DESTDIR)$(libdir) -type f -name \*.la -delete