Browse Source

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>
maint
Petr Baudis 19 years ago committed by Junio C Hamano
parent
commit
d595a473ee
  1. 26
      Makefile
  2. 5
      perl/Git.xs
  3. 2
      perl/Makefile.PL

26
Makefile

@ -235,7 +235,7 @@ BUILTIN_OBJS = \ @@ -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 @@ -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 @@ -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)) @@ -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) @@ -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

5
perl/Git.xs

@ -29,7 +29,7 @@ report_xs(const char *prefix, const char *err, va_list params) @@ -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) @@ -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;
}



2
perl/Makefile.PL

@ -3,7 +3,7 @@ use ExtUtils::MakeMaker; @@ -3,7 +3,7 @@ use ExtUtils::MakeMaker;
sub MY::postamble {
return <<'MAKE_FRAG';
instlibdir:
@echo $(INSTALLSITELIB)
@echo $(INSTALLSITEARCH)

MAKE_FRAG
}

Loading…
Cancel
Save