From 044ca343adbd4686b6ef71ebfb087e7dcceffe61 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 8 Jan 2001 10:00:14 +0000 Subject: [PATCH] Loic Dachary's makefile/dist/rpm fixes --- CHANGES | 6 ++++++ Makefile.am | 28 +++++++++++++++++++++++++++- configure.in | 4 +++- docs/Makefile.am | 7 +++++-- lib/Makefile.am | 8 +++++++- lib/Makefile.in | 11 +++++++++-- lib/ftp.c | 1 + src/Makefile.am | 13 ++++++++++--- tests/Makefile.am | 1 + 9 files changed, 69 insertions(+), 10 deletions(-) diff --git a/CHANGES b/CHANGES index 0ce99f75f..2d2acd1b5 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,12 @@ History of Changes +Loic Dachary (6 January 2001) +- Automated generation of rpm packages, no need to be root. + +- make distcheck generates a proper distribution (EXTRA_DIST + in all Makefile.am modified to match FILES). + Daniel (5 January 2001) - Huge client-side hack: now multiple URLs are supported. Any number of URLs can be specified on the command line, and they'll all be downloaded. There diff --git a/Makefile.am b/Makefile.am index 9f9a66936..5b85fb57e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,9 +4,35 @@ AUTOMAKE_OPTIONS = foreign no-dependencies -EXTRA_DIST = curl.spec curl-ssl.spec +EXTRA_DIST = curl.spec curl-ssl.spec \ + CHANGES FILES LEGAL MITX.txt MPL-1.1.txt \ + config-win32.h reconf SUBDIRS = docs lib src include tests test: @(cd tests; make quiet-test) + +# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros +# must contain the following line: +# %_topdir /home/loic/local/rpm +# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc. +# +# If additional configure flags are needed to build the package, add the +# following in ~/.rpmmacros +# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS} +# and run make rpm in the following way: +# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm +# + +rpms: + $(MAKE) RPMDIST=curl rpm + $(MAKE) RPMDIST=curl-ssl rpm + +rpm: + RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \ + cp $(srcdir)/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \ + cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \ + rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \ + mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \ + mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm . diff --git a/configure.in b/configure.in index 010737b5e..b98c2ef86 100644 --- a/configure.in +++ b/configure.in @@ -613,7 +613,9 @@ AC_OUTPUT( Makefile \ include/curl/Makefile \ src/Makefile \ lib/Makefile \ - tests/Makefile) + tests/Makefile \ + curl.spec \ + curl-ssl.spec) dnl perl/checklinks.pl \ dnl perl/getlinks.pl \ dnl perl/formfind.pl \ diff --git a/docs/Makefile.am b/docs/Makefile.am index 4fcace4b7..45c42c8d9 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -12,11 +12,14 @@ man_MANS = \ curl_easy_perform.3 \ curl_easy_setopt.3 \ curl_formparse.3 \ + curl_formfree.3 \ curl_getdate.3 \ curl_getenv.3 \ curl_slist_append.3 \ curl_slist_free_all.3 \ curl_version.3 -EXTRA_DIST = $(man_MANS) - +EXTRA_DIST = $(man_MANS) \ + MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS \ + LIBCURL README.win32 RESOURCES TODO TheArtOfHttpScripting \ + examples/README examples/*.c diff --git a/lib/Makefile.am b/lib/Makefile.am index 145a9ba27..2090cb013 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -4,6 +4,10 @@ AUTOMAKE_OPTIONS = foreign +EXTRA_DIST = getdate.y \ + Makefile.b32 Makefile.b32.resp Makefile.m32 Makefile.vc6 \ + libcurl.def dllinit.c + lib_LTLIBRARIES = libcurl.la # Some flags needed when trying to cause warnings ;-) @@ -54,7 +58,9 @@ download.h getenv.c ldap.h ssluse.h \ escape.c getenv.h mprintf.c telnet.c \ escape.h getpass.c netrc.c telnet.h \ getinfo.c highlevel.c strequal.c strequal.h easy.c \ -security.h security.c krb4.c memdebug.c memdebug.h +security.h security.c krb4.c memdebug.c memdebug.h inet_ntoa_r.h + +noinst_HEADERS = setup.h highlevel.h # Say $(srcdir), so GNU make does not report an ambiguity with the .y.c rule. $(srcdir)/getdate.c: getdate.y diff --git a/lib/Makefile.in b/lib/Makefile.in index ba0fd3333..291172d88 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -79,6 +79,9 @@ YACC = @YACC@ AUTOMAKE_OPTIONS = foreign +EXTRA_DIST = getdate.y Makefile.b32 Makefile.b32.resp Makefile.m32 Makefile.vc6 libcurl.def dllinit.c + + lib_LTLIBRARIES = libcurl.la # Some flags needed when trying to cause warnings ;-) @@ -115,8 +118,10 @@ libcurl_la_LDFLAGS = -version-info 1:0:0 # set age to 0. # -libcurl_la_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h urldata.h download.c getdate.h ldap.c ssluse.c version.c download.h getenv.c ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c telnet.h getinfo.c highlevel.c strequal.c strequal.h easy.c security.h security.c krb4.c memdebug.c memdebug.h +libcurl_la_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h urldata.h download.c getdate.h ldap.c ssluse.c version.c download.h getenv.c ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c telnet.h getinfo.c highlevel.c strequal.c strequal.h easy.c security.h security.c krb4.c memdebug.c memdebug.h inet_ntoa_r.h + +noinst_HEADERS = setup.h highlevel.h mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h ../src/config.h CONFIG_CLEAN_FILES = @@ -138,6 +143,8 @@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CF LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +HEADERS = $(noinst_HEADERS) + DIST_COMMON = Makefile.am Makefile.in @@ -288,7 +295,7 @@ install-am: all-am install: install-am uninstall-am: uninstall-libLTLIBRARIES uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) +all-am: Makefile $(LTLIBRARIES) $(HEADERS) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install diff --git a/lib/ftp.c b/lib/ftp.c index a52ba190f..0d16a201f 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/src/Makefile.am b/src/Makefile.am index 43bf0cdf1..b64ea24bb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -10,17 +10,24 @@ INCLUDES = -I$(top_srcdir)/include bin_PROGRAMS = curl #memtest +noinst_HEADERS = setup.h \ + config-win32.h \ + urlglob.h \ + version.h \ + writeout.h + #memtest_SOURCES = memtest.c #memtest_LDADD = $(top_srcdir)/lib/libcurl.la curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c -curl_LDADD = $(top_srcdir)/lib/libcurl.la -curl_DEPENDENCIES = $(top_srcdir)/lib/libcurl.la +curl_LDADD = ../lib/libcurl.la +curl_DEPENDENCIES = ../lib/libcurl.la BUILT_SOURCES = hugehelp.c CLEANFILES = hugehelp.c NROFF=@NROFF@ -EXTRA_DIST = mkhelp.pl Makefile.vc6 +EXTRA_DIST = mkhelp.pl config-win32.h \ + Makefile.vc6 Makefile.b32 Makefile.m32 AUTOMAKE_OPTIONS = foreign no-dependencies diff --git a/tests/Makefile.am b/tests/Makefile.am index 58475d934..355c6f9a5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,3 +1,4 @@ +EXTRA_DIST = data/*.txt ftpserver.pl httpserver.pl runtests.pl all: install: