summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Baudis <pasky@suse.cz>2006-06-24 18:35:12 -0700
committerJunio C Hamano <junkio@cox.net>2006-07-02 17:14:42 -0700
commitd595a473ee628d0f88989d06871d9752caafa7e9 (patch)
treee06418029e09256d4e82c8d6bf0a41357cf9b1ac
parent523bbaa4580a103b0994b5e3c71efcb1a8c6a7db (diff)
downloadgit-d595a473ee628d0f88989d06871d9752caafa7e9.tar.gz
Git.pm: assorted build related fixes.
- We passed our own *.a archives as LIBS to the submake that runs in perl/; separate LIBS and EXTLIBS and pass the latter which tells what the system libraries are used. - The quoting of preprocesor symbol definitions passed down to perl/ submake was loose and we lost double quotes around include directives. Use *_SQ to quote them properly. - The installation location of perl/ submake is not architecture neutral anymore, so use SITEARCH instead of SITELIB. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Makefile26
-rw-r--r--perl/Git.xs5
-rw-r--r--perl/Makefile.PL2
3 files changed, 20 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index a76526aa6c..1371e79df2 100644
--- a/Makefile
+++ b/Makefile
@@ -235,7 +235,7 @@ BUILTIN_OBJS = \
builtin-update-ref.o
GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
-LIBS = $(GITLIBS) -lz
+EXTLIBS = -lz
#
# Platform specific tweaks
@@ -393,14 +393,14 @@ ifdef NEEDS_LIBICONV
else
ICONV_LINK =
endif
- LIBS += $(ICONV_LINK) -liconv
+ EXTLIBS += $(ICONV_LINK) -liconv
endif
ifdef NEEDS_SOCKET
- LIBS += -lsocket
+ EXTLIBS += -lsocket
SIMPLE_LIB += -lsocket
endif
ifdef NEEDS_NSL
- LIBS += -lnsl
+ EXTLIBS += -lnsl
SIMPLE_LIB += -lnsl
endif
ifdef NO_D_TYPE_IN_DIRENT
@@ -463,7 +463,7 @@ ifdef MOZILLA_SHA1
LIB_OBJS += mozilla-sha1/sha1.o
else
SHA1_HEADER = <openssl/sha.h>
- LIBS += $(LIB_4_CRYPTO)
+ EXTLIBS += $(LIB_4_CRYPTO)
endif
endif
endif
@@ -489,9 +489,13 @@ PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
PYTHON_PATH_SQ = $(subst ','\'',$(PYTHON_PATH))
GIT_PYTHON_DIR_SQ = $(subst ','\'',$(GIT_PYTHON_DIR))
+LIBS = $(GITLIBS) $(EXTLIBS)
+
ALL_CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER_SQ)' $(COMPAT_CFLAGS)
LIB_OBJS += $(COMPAT_OBJS)
export prefix TAR INSTALL DESTDIR SHELL_PATH template_dir
+
+
### Build rules
all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk
@@ -615,11 +619,15 @@ $(XDIFF_LIB): $(XDIFF_OBJS)
rm -f $@ && $(AR) rcs $@ $(XDIFF_OBJS)
-perl/Makefile: perl/Git.pm perl/Makefile.PL
+PERL_DEFINE = $(ALL_CFLAGS) -DGIT_VERSION='"$(GIT_VERSION)"'
+PERL_DEFINE_SQ = $(subst ','\'',$(PERL_DEFINE))
+PERL_LIBS = $(EXTLIBS)
+PERL_LIBS_SQ = $(subst ','\'',$(PERL_LIBS))
+perl/Makefile: perl/Git.pm perl/Makefile.PL GIT-CFLAGS
(cd perl && $(PERL_PATH) Makefile.PL \
- PREFIX="$(prefix)" \
- DEFINE="$(ALL_CFLAGS) -DGIT_VERSION=\\\"$(GIT_VERSION)\\\"" \
- LIBS="$(LIBS)")
+ PREFIX='$(prefix_SQ)' \
+ DEFINE='$(PERL_DEFINE_SQ)' \
+ LIBS='$(PERL_LIBS_SQ)')
doc:
$(MAKE) -C Documentation all
diff --git a/perl/Git.xs b/perl/Git.xs
index 9d247b7130..8b06ebfae9 100644
--- a/perl/Git.xs
+++ b/perl/Git.xs
@@ -29,7 +29,7 @@ report_xs(const char *prefix, const char *err, va_list params)
return buf;
}
-void
+static void NORETURN
die_xs(const char *err, va_list params)
{
char *str;
@@ -37,13 +37,12 @@ die_xs(const char *err, va_list params)
croak(str);
}
-int
+static void
error_xs(const char *err, va_list params)
{
char *str;
str = report_xs("error: ", err, params);
warn(str);
- return -1;
}
diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index 54e8b20ed8..92c140d39b 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -3,7 +3,7 @@ use ExtUtils::MakeMaker;
sub MY::postamble {
return <<'MAKE_FRAG';
instlibdir:
- @echo $(INSTALLSITELIB)
+ @echo $(INSTALLSITEARCH)
MAKE_FRAG
}