path: root/perl/Makefile.PL
AgeCommit message (Collapse)Author
2009-09-25perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIRBrandon Casey
It appears that ExtUtils::MakeMaker versions older than 6.11 do not implement the DESTDIR mechanism. So add a test to the generated perl.mak to detect when DESTDIR is used along with a too old ExtUtils::MakeMaker and abort with a message suggesting the use of NO_PERL_MAKEMAKER. Signed-off-by: Brandon Casey <> Signed-off-by: Shawn O. Pearce <>
2007-12-11Don't cache DESTDIR in perl/perl.mak.Gerrit Pape
DESTDIR is supposed to be overridden on 'make install' after doing 'make'. Have the automatically generated perl/perl.mak not cache the value of DESTDIR to support that for the perl/ subdirectory also. Signed-off-by: Gerrit Pape <> Signed-off-by: Junio C Hamano <>
2007-08-23Install man3 manpages to $PREFIX/share/man/man3 even for site installsmartin f. krafft
MakeMaker supports three installation modes: perl, site, and vendor. The first and third install manpages to $PREFIX/share/man, only site installs to $PREFIX/man. For consistency with the rest of git, which does not make the distinction and writes all manpages to $PREFIX/share/man, this change makes sure that perl does too, even when it's installed in site mode. Signed-off-by: martin f. krafft <> Signed-off-by: Junio C Hamano <>
2007-04-21perl: install private if the site version is older than our ownEric Wong
bdash (on IRC) had a problem with (via git-svn) when his site installation of was older than the version we package. Signed-off-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2007-01-16Fix spurious compile errorJohannes Schindelin
From time to time, I would get this error: [...] sed: -e expression #8, char 41: Unterminated `s' command make: *** [git-add--interactive] Error 1 Turns out that the function WriteMakefile() called in Makefile.PL outputs the message "Writing perl.mak for Git" to stdout! Thus, the output of "make -C perl -s --no-print-directory instlibdir" would be prefixed by that message whenever Makefile.PL was newer than perl.mak. This is fixed by redirecting stdout to stderr in Makefile.PL. Signed-off-by: Johannes E. Schindelin <> Signed-off-by: Junio C Hamano <>
2006-12-08Fix perl/ build.Junio C Hamano
An earlier commit f848718a broke the build in perl/ directory by allowing the Makefile.PL to overwrite the now-tracked Makefile. Fix this by forcing Makefile.PL to produce its output in perl.mak as the broken commit originally intended. Signed-off-by: Junio C Hamano <> Kill Git.xs for nowPetr Baudis
This patch removes Git.xs from the repository for the time being. This should hopefully enable to finally make its way to master. Git.xs is not going away forever. When the Git libification makes some progress, it will hopefully return (but most likely as an optional component, due to the portability woes) since the performance boosts are really important for applications like Gitweb or Cogito. It needs to go away now since it is not really reliable in case you use it for several repositories in the scope of a single process, and that is not possible to fix without some either very ugly or very intrusive core changes. Rest in peace. (While you can.) Signed-off-by: Petr Baudis <> Signed-off-by: Junio C Hamano <>
2006-08-13pass DESTDIR to the generated perl/MakefileEric Wong
Makes life for binary packagers easier, as the Perl modules will be installed inside DESTDIR. Signed-off-by: Eric Wong <> Signed-off-by: Junio C Hamano <> Avoid ppport.hPetr Baudis
This makes us not include ppport.h which seems not to give us anything real anyway; it is useful for checking for portability warts but since Devel::PPPort is a portability wart itself, we shouldn't require it for build. You can check for portability problems by calling make check in perl/. Signed-off-by: Petr Baudis <> Signed-off-by: Junio C Hamano <>
2006-07-03Fix probing for already installed Error.pmPavel Roskin
The syntax for 'require' was wrong, and it was always failing, which resulted in installing our own version of anyways. Now we used to ship our own in the same directory, so after fixing the syntax, 'require' always succeeds, but it does not test if the platform has module installed anymore. So rename the source we ship to, and install that as when the platform does not have one already. Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2006-07-03Perly git: work around buggy make implementations.Junio C Hamano
FC4 uses gnumake 3.80 whose annoying "Entering directory..." messages are not silenced with -s alone. Signed-off-by: Junio C Hamano <> assorted build related fixes.Petr Baudis
- 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 <> Signed-off-by: Junio C Hamano <>
2006-07-03Add to the distributionPetr Baudis
I have been thinking about how to do the error reporting the best way and after scraping various overcomplicated concepts, I have decided that by far the most elegant way is to throw Error exceptions; the closest sane alternative is to catch the dies in by enclosing the calls in eval{}s and that's really _quite_ ugly. The only "small" trouble is that turns out sadly not to be part of the standard distribution, and installation from CPAN is a bother, especially if you can't install it system-wide. But since it is very small, I've decided to just bundle it. Signed-off-by: Petr Baudis <> Signed-off-by: Junio C Hamano <>
2006-07-03Introduce (v4)Petr Baudis
This patch introduces a very basic and barebone module with a sketch of how the generic interface would look like; most functions are missing, but this should give some good base. I will continue expanding it. Most desirable now is more careful error reporting, generic_in() for feeding input to Git commands and the repository() constructor doing some poking with git-rev-parse to get the git directory and subdirectory prefix. Those three are basically the prerequisities for converting git-mv. I will send them as follow-ups to this patch. Currently just wraps up exec()s of Git commands, but even that is not trivial to get right and various Git perl scripts do it in various inconsistent ways. In addition to, there is now also Git.xs which provides barebone Git.xs for directly interfacing with libgit.a, and as an example providing the hash_object() function using libgit. This adds the Git module, integrates it to the build system and as an example converts the git-fmt-merge-msg.perl script to it (the result is not very impressive since its advantage is not quite apparent in this one, but I just picked up the simplest Git user around). Compared to v3, only very minor things were fixed in this patch (some whitespaces, a missing export, tiny bug in git-fmt-merge-msg.perl); at first I wanted to post them as a separate patch but since this is still only in pu, I decided that it will be cleaner to just resend the patch. My current working state is available all the time at and an irregularily updated API documentation is at Many thanks to Jakub Narebski, Junio and others for their feedback. Signed-off-by: Petr Baudis <> Signed-off-by: Junio C Hamano <>