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>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							523bbaa458
						
					
				
				
					commit
					d595a473ee
				
			
							
								
								
									
										26
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								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
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@ use ExtUtils::MakeMaker;
 | 
			
		||||
sub MY::postamble {
 | 
			
		||||
	return <<'MAKE_FRAG';
 | 
			
		||||
instlibdir:
 | 
			
		||||
	@echo $(INSTALLSITELIB)
 | 
			
		||||
	@echo $(INSTALLSITEARCH)
 | 
			
		||||
 | 
			
		||||
MAKE_FRAG
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user