git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's in git.git

From
Alex Riesen <raa.lkml@gmail.com>
Date
Aug 3, 2006, 12:35 UTC
Message-ID
<81b0412b0608030535t62e11c73n2b8bacc25c26a814@mail.gmail.com>
In-Reply-To
<81b0412b0608030532v4241322dted5f42baa196af88@mail.gmail.com>
On 8/3/06, Alex Riesen <raa.lkml@gmail.com> wrote:
Show 10 quoted lines
> > Now, I admit I know very little about ActiveState and know
> > nothing about Windows build environment, but I would not be
> > surprised if in ActiveState land there were a MakeMaker
> > equivalent that spits out Makefile equivalent that is suitable
> > for MS development environment, and the users are expected to
> > work in that environment, perhaps using MS C compiler toolchain,
>
> AFAICS, it is not suitable for anything: generated Makefile is not
> parsable by nmake(what MS thinks is a make) and is more like a
> broken gmake Makefile. Also -fno-strict-aliasing points at gcc.

I think I better post what I have got from MakeMaker. Just keep in mind: it's CRLF delimited.

# This Makefile is for the Git extension to perl. # # It was generated automatically by MakeMaker version # 6.17 (Revision: 1.133) from the contents of # Makefile.PL. Don't edit this file, edit Makefile.PL instead. # # ANY CHANGES MADE HERE WILL BE LOST! # # MakeMaker ARGV: (q[PREFIX=/d/scripts/git], q[DEFINE= -DNO_D_TYPE_IN_DIRENT -DNO_D_INO_IN_DIRENT -DNO_SYMLINK_HEAD -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR -DNO_STRLCPY -DNO_MMAP -DGIT_VERSION='"1.4.2.rc2.gb80eb"'], q[LIBS= -lz -liconv -lcrypto]) # # MakeMaker Parameters:

# INC => q[-I. -I..] # MYEXTLIB => q[../libgit.a] # NAME => q[Git] # PM => { private-Error.pm=>q[$(INST_LIBDIR)/Error.pm], Git.pm=>q[$(INST_LIBDIR)/Git.pm] } # VERSION_FROM => q[Git.pm]

# --- MakeMaker post_initialize section:
# --- MakeMaker const_config section:
# These definitions are from config.sh (via c:/perl/lib/Config.pm)

# They may have been overridden via Makefile.PL or on the command line AR = ar CC = gcc CCCDLFLAGS = CCDLFLAGS = DLEXT = dll DLSRC = dl_win32.xs LD = gcc LDDLFLAGS = -mdll LDFLAGS = -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86 LIBC = msvcrt.lib LIB_EXT = .lib OBJ_EXT = .o OSNAME = MSWin32 OSVERS = 5.0 RANLIB = rem SITELIBEXP = C:\Perl\site\lib SITEARCHEXP = C:\Perl\site\lib SO = dll EXE_EXT = .exe FULL_AR = VENDORARCHEXP = $(VENDORPREFIX)\lib\5.8.7\MSWin32-x86-multi-thread VENDORLIBEXP = $(VENDORPREFIX)\lib

# --- MakeMaker constants section: AR_STATIC_ARGS = cr DIRFILESEP = ^\ NAME = Git NAME_SYM = Git VERSION = 0.01 VERSION_MACRO = VERSION VERSION_SYM = 0_01 DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" XS_VERSION = 0.01 XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" INST_ARCHLIB = blib\arch INST_SCRIPT = blib\script INST_BIN = blib\bin INST_LIB = blib\lib INST_MAN1DIR = blib\man1 INST_MAN3DIR = blib\man3 INST_HTMLDIR = blib\html MAN1EXT = 1 MAN3EXT = 3 INSTALLDIRS = site DESTDIR = PREFIX = /d/scripts/git PERLPREFIX = $(PREFIX) SITEPREFIX = $(PREFIX) VENDORPREFIX = $(PREFIX) INSTALLPRIVLIB = $(PERLPREFIX)\lib DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) INSTALLSITELIB = $(SITEPREFIX)\lib DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) INSTALLVENDORLIB = $(VENDORPREFIX)\lib DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) INSTALLARCHLIB = $(PERLPREFIX)\lib DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) INSTALLSITEARCH = $(SITEPREFIX)/lib DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) INSTALLVENDORARCH = $(VENDORPREFIX)\lib\5.8.7\MSWin32-x86-multi-thread DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) INSTALLBIN = $(PERLPREFIX)\bin DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) INSTALLSITEBIN = $(SITEPREFIX)\bin DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) INSTALLVENDORBIN = $(VENDORPREFIX)\bin DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) INSTALLSCRIPT = $(PERLPREFIX)\bin DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) INSTALLMAN1DIR = $(PERLPREFIX)\man\man1 DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) INSTALLSITEMAN1DIR = $(SITEPREFIX)\man\man1 DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) INSTALLVENDORMAN1DIR = $(VENDORPREFIX)\man\man1 DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) INSTALLMAN3DIR = $(PERLPREFIX)\man\man3 DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) INSTALLSITEMAN3DIR = $(SITEPREFIX)\man\man3 DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) INSTALLVENDORMAN3DIR = $(VENDORPREFIX)\man\man3 DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR) INSTALLHTMLDIR = $(PERLPREFIX)\html DESTINSTALLHTMLDIR = $(DESTDIR)$(INSTALLHTMLDIR) INSTALLSITEHTMLDIR = $(SITEPREFIX)\html DESTINSTALLSITEHTMLDIR = $(DESTDIR)$(INSTALLSITEHTMLDIR) INSTALLVENDORHTMLDIR = $(VENDORPREFIX)C:\Perl\html DESTINSTALLVENDORHTMLDIR = $(DESTDIR)$(INSTALLVENDORHTMLDIR) PERL_LIB = C:\Perl\lib PERL_ARCHLIB = C:\Perl\lib LIBPERL_A = libperl.lib MYEXTLIB = ../libgit.a FIRST_MAKEFILE = Makefile MAKEFILE_OLD = $(FIRST_MAKEFILE).old MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl PERLMAINCC = $(CC) PERL_INC = C:\Perl\lib\CORE PERL = C:\perl\bin\perl.exe FULLPERL = C:\perl\bin\perl.exe ABSPERL = $(PERL) PERLRUN = $(PERL) FULLPERLRUN = $(FULLPERL) ABSPERLRUN = $(ABSPERL) PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" PERL_CORE = 0 PERM_RW = 644 PERM_RWX = 755

MAKEMAKER = c:/perl/lib/ExtUtils/MakeMaker.pm MM_VERSION = 6.17 MM_REVISION = 1.133

# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) # PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) # DLBASE = Basename part of dynamic library. May be just equal BASEEXT. FULLEXT = Git BASEEXT = Git PARENT_NAME = DLBASE = $(BASEEXT) VERSION_FROM = Git.pm INC = -I. -I.. DEFINE = -DNO_D_TYPE_IN_DIRENT -DNO_D_INO_IN_DIRENT -DNO_SYMLINK_HEAD -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR -DNO_STRLCPY -DNO_MMAP -DGIT_VERSION='"1.4.2.rc2.gb80eb"' OBJECT = $(BASEEXT)$(OBJ_EXT) LDFROM = $(OBJECT) LINKTYPE = dynamic

# Handy lists of source code files:
XS_FILES = Git.xs
C_FILES  = Git.c
O_FILES  = Git.o
H_FILES  =
MAN1PODS =
MAN3PODS = Git.pm \
	private-Error.pm

# Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILESEP)config.h

# Where to build things INST_LIBDIR = $(INST_LIB) INST_ARCHLIBDIR = $(INST_ARCHLIB)

INST_AUTODIR = $(INST_LIB)\auto\$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)\auto\$(FULLEXT)

INST_STATIC = $(INST_ARCHAUTODIR)\$(BASEEXT)$(LIB_EXT) INST_DYNAMIC = $(INST_ARCHAUTODIR)\$(DLBASE).$(DLEXT) INST_BOOT = $(INST_ARCHAUTODIR)\$(BASEEXT).bs

# Extra linker info EXPORT_LIST = $(BASEEXT).def PERL_ARCHIVE = $(PERL_INC)\perl58.lib PERL_ARCHIVE_AFTER =

TO_INST_PM = Git.pm \
	private-Error.pm
PM_TO_BLIB = private-Error.pm \
	$(INST_LIBDIR)/Error.pm \
	Git.pm \
	$(INST_LIBDIR)/Git.pm

# --- MakeMaker platform_constants section: MM_Win32_VERSION = 1.09

# --- MakeMaker tool_autosplit section: # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto AUTOSPLITFILE = $(PERLRUN) -e "use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)"

# --- MakeMaker tool_xsubpp section:

XSUBPPDIR = C:\perl\lib\ExtUtils XSUBPP = $(XSUBPPDIR)/xsubpp XSPROTOARG = XSUBPPDEPS = C:\Perl\lib\ExtUtils\typemap $(XSUBPP) XSUBPPARGS = -typemap C:\Perl\lib\ExtUtils\typemap XSUBPP_EXTRA_ARGS =

# --- MakeMaker tools_other section: CHMOD = $(PERLRUN) -MExtUtils::Command -e chmod CP = $(PERLRUN) -MExtUtils::Command -e cp MV = $(PERLRUN) -MExtUtils::Command -e mv NOOP = rem NOECHO = @ RM_F = $(PERLRUN) -MExtUtils::Command -e rm_f RM_RF = $(PERLRUN) -MExtUtils::Command -e rm_rf TEST_F = $(PERLRUN) -MExtUtils::Command -e test_f TOUCH = $(PERLRUN) -MExtUtils::Command -e touch UMASK_NULL = umask 0 DEV_NULL = > NUL MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime ECHO = $(PERLRUN) -l -e "print qq{@ARGV}" ECHO_N = $(PERLRUN) -e "print qq{@ARGV}" UNINST = 0 VERBINST = 0 MOD_INSTALL = $(PERLRUN) -MExtUtils::Install -e "install({@ARGV}, '$(VERBINST)', 0, '$(UNINST)');" DOC_INSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e perllocal_install UNINSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e uninstall WARN_IF_OLD_PACKLIST = $(PERLRUN) "-MExtUtils::Command::MM" -e warn_if_old_packlist

# --- MakeMaker makemakerdflt section:
makemakerdflt: all
	$(NOECHO) $(NOOP)

# --- MakeMaker dist section: TAR = tar TARFLAGS = cvf ZIP = zip ZIPFLAGS = -r COMPRESS = gzip --best SUFFIX = .gz SHAR = shar PREOP = $(NOECHO) $(NOOP) POSTOP = $(NOECHO) $(NOOP) TO_UNIX = $(NOECHO) $(NOOP) CI = ci -u RCS_LABEL = rcs -Nv$(VERSION_SYM): -q DIST_CP = best DIST_DEFAULT = tardist DISTNAME = Git DISTVNAME = Git-0.01

# --- MakeMaker macro section:
# --- MakeMaker depend section:
# --- MakeMaker cflags section:

CCFLAGS = -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing OPTIMIZE = -O2 PERLTYPE = MPOLLUTE =

# --- MakeMaker const_loadlibs section:

# Git might depend on some other libraries: # See ExtUtils::Liblist for details # LDLOADLIBS = -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt LD_RUN_PATH =

# --- MakeMaker const_cccmd section:
CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \
	$(CCFLAGS) $(OPTIMIZE) \
	$(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
	$(XS_DEFINE_VERSION)
# --- MakeMaker post_constants section:

# --- MakeMaker pasthru section: PASTHRU = -nologo

# --- MakeMaker special_targets section: .SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)

.PHONY: all config static dynamic test linkext manifest
# --- MakeMaker c_o section:
.c.i:
	gcc -E -c $(PASTHRU_INC) $(INC) \
	$(CCFLAGS) $(OPTIMIZE) \
	$(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
	$(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE)
$(DEFINE) $*.c > $*.i
.c.s:
	$(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
.c$(OBJ_EXT):
	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
.cpp$(OBJ_EXT):
	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cpp
.cxx$(OBJ_EXT):
	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cxx
.cc$(OBJ_EXT):
	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc
# --- MakeMaker xs_c section:
.xs.c:
	$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS)
$*.xs > $*.xsc && $(MV) $*.xsc $*.c
# --- MakeMaker xs_o section:
# --- MakeMaker top_targets section:
all :: pure_all htmlifypods
	$(NOECHO) $(NOOP)
pure_all :: config pm_to_blib subdirs linkext
	$(NOECHO) $(NOOP)
subdirs :: $(MYEXTLIB)
	$(NOECHO) $(NOOP)
config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists
	$(NOECHO) $(NOOP)
config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
	$(NOECHO) $(NOOP)
config :: $(INST_AUTODIR)$(DIRFILESEP).exists
	$(NOECHO) $(NOOP)
$(INST_AUTODIR)\.exists :: C:\Perl\lib\CORE\perl.h
	$(NOECHO) $(MKPATH) $(INST_AUTODIR)
	$(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_AUTODIR)\.exists
	-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
$(INST_LIBDIR)\.exists :: C:\Perl\lib\CORE\perl.h
	$(NOECHO) $(MKPATH) $(INST_LIBDIR)
	$(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_LIBDIR)\.exists
	-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
$(INST_ARCHAUTODIR)\.exists :: C:\Perl\lib\CORE\perl.h
	$(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
	$(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h
$(INST_ARCHAUTODIR)\.exists
	-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
config :: $(INST_MAN3DIR)$(DIRFILESEP).exists
	$(NOECHO) $(NOOP)
$(INST_MAN3DIR)\.exists :: C:\Perl\lib\CORE\perl.h
	$(NOECHO) $(MKPATH) $(INST_MAN3DIR)
	$(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_MAN3DIR)\.exists
	-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
help:
	perldoc ExtUtils::MakeMaker
# --- MakeMaker linkext section:
linkext :: $(LINKTYPE)
	$(NOECHO) $(NOOP)
# --- MakeMaker dlsyms section:
Git.def: Makefile.PL
	$(PERLRUN) -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Git\", 'DLBASE' => '$(BASEEXT)',
'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' =>
[]);"
# --- MakeMaker dynamic section:
dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
	$(NOECHO) $(NOOP)

# --- MakeMaker dynamic_bs section: BOOTSTRAP = $(BASEEXT).bs

# As Mkbootstrap might not write a file (if none is required)
# we use touch to prevent make continually trying to remake it.
# The DynaLoader only reads a non-empty file.
$(BOOTSTRAP): $(FIRST_MAKEFILE) $(BOOTDEP)
$(INST_ARCHAUTODIR)$(DIRFILESEP).exists
	$(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))"
	$(NOECHO) $(PERLRUN) \
		"-MExtUtils::Mkbootstrap" \
		-e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
	$(NOECHO) $(TOUCH) $(BOOTSTRAP)
	$(CHMOD) $(PERM_RW) $@
$(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
	$(NOECHO) $(RM_RF) $(INST_BOOT)
	-$(CP) $(BOOTSTRAP) $(INST_BOOT)
	$(CHMOD) $(PERM_RW) $@
# --- MakeMaker dynamic_lib section:

# This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). OTHERLDFLAGS = -Wl,--image-base,0x23050000 INST_DYNAMIC_DEP =

$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP)
$(INST_ARCHAUTODIR)$(DIRFILESEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE)
$(INST_DYNAMIC_DEP)
	dlltool --def $(EXPORT_LIST) --output-exp dll.exp
	$(LD) -o $@ -Wl,--base-file -Wl,dll.base $(LDDLFLAGS) $(LDFROM)
$(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) dll.exp
	dlltool --def $(EXPORT_LIST) --base-file dll.base --output-exp dll.exp
	$(LD) -o $@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB)
$(PERL_ARCHIVE) $(LDLOADLIBS) dll.exp
	$(CHMOD) $(PERM_RWX) $@
# --- MakeMaker static section:
## $(INST_PM) has been moved to the all: target.
## It remains here for awhile to allow for old usage: "make static"
static :: $(FIRST_MAKEFILE) $(INST_STATIC)
	$(NOECHO) $(NOOP)
# --- MakeMaker static_lib section:
$(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
	$(RM_RF) $@
	$(CP) $(MYEXTLIB) $@
	$(AR) -ru $@ $(OBJECT)
	$(CHMOD) $(PERM_RWX) $@
	$(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)\extralibs.ld
# --- MakeMaker manifypods section:

POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--" POD2MAN = $(POD2MAN_EXE)

manifypods : pure_all  \
	private-Error.pm \
	Git.pm \
	private-Error.pm \
	Git.pm
	$(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW)\
	  private-Error.pm $(INST_MAN3DIR)\private-Error.$(MAN3EXT) \
	  Git.pm $(INST_MAN3DIR)\Git.$(MAN3EXT)
# --- MakeMaker htmlifypods section:

POD2HTML_EXE = $(PERLRUN) "-MActivePerl::DocTools" -e "Pod2HTML(installdirs => "$(INSTALLDIRS)")" POD2HTML = $(POD2HTML_EXE)

htmlifypods :  \
	private-Error.pm \
	Git.pm
	$(NOECHO) $(POD2HTML)
# --- MakeMaker processPL section:
# --- MakeMaker installbin section:
# --- MakeMaker subdirs section:
# none
# --- MakeMaker clean_subdirs section:
clean_subdirs :
	$(NOECHO) $(NOOP)
# --- MakeMaker clean section:

# Delete temporary files but do not touch installed files. We don't delete # the Makefile here so a later make realclean still has a makefile to use.

clean :: clean_subdirs
	-$(RM_RF) Git.c ./blib $(MAKE_APERL_FILE)
$(INST_ARCHAUTODIR)/extralibs.all $(INST_ARCHAUTODIR)/extralibs.ld
perlmain.c tmon.out mon.out so_locations pm_to_blib *$(OBJ_EXT)
*$(LIB_EXT) perl.exe perl perl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso
$(BASEEXT).def lib$(BASEEXT).def $(BASEEXT).exp $(BASEEXT).x core
core.*perl.*.? *perl.core core.[0-9] core.[0-9][0-9]
core.[0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9]
core.[0-9][0-9][0-9][0-9][0-9]
	-$(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
clean ::
	-$(RM_F) dll.base dll.exp
# --- MakeMaker realclean_subdirs section:
realclean_subdirs :
	$(NOECHO) $(NOOP)
# --- MakeMaker realclean section:
# Delete temporary files (via clean) and also delete installed files
realclean purge ::  clean realclean_subdirs
	$(RM_RF) $(INST_AUTODIR) $(INST_ARCHAUTODIR)
	$(RM_RF) $(DISTVNAME)
	$(RM_F) $(INST_DYNAMIC) $(INST_BOOT)
	$(RM_F) $(INST_STATIC)
	$(RM_F)  $(INST_LIBDIR)/Git.pm $(INST_LIBDIR)/Error.pm
$(MAKEFILE_OLD) $(FIRST_MAKEFILE)
# --- MakeMaker metafile section:
metafile :
	$(NOECHO) $(ECHO) "#
http://module-build.sourceforge.net/META-spec.html" > META.yml
	$(NOECHO) $(ECHO) "#XXXXXXX This is a prototype!!!  It will change in
the future!!! XXXXX#" >> META.yml
	$(NOECHO) $(ECHO) "name:         Git" >> META.yml
	$(NOECHO) $(ECHO) "version:      0.01" >> META.yml
	$(NOECHO) $(ECHO) "version_from: Git.pm" >> META.yml
	$(NOECHO) $(ECHO) "installdirs:  site" >> META.yml
	$(NOECHO) $(ECHO) "requires:" >> META.yml
	$(NOECHO) $(ECHO) "" >> META.yml
	$(NOECHO) $(ECHO) "distribution_type: module" >> META.yml
	$(NOECHO) $(ECHO) "generated_by: ExtUtils::MakeMaker version 6.17" >> META.yml
# --- MakeMaker metafile_addtomanifest section:
metafile_addtomanifest:
	$(NOECHO) $(PERLRUN) -MExtUtils::Manifest=maniadd -e "eval {
maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } \
    or print \"Could not add META.yml to MANIFEST: $${'@'}\n\""
# --- MakeMaker dist_basics section:
distclean :: realclean distcheck
	$(NOECHO) $(NOOP)
distcheck :
	$(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck
skipcheck :
	$(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck
manifest :
	$(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
veryclean : realclean
	$(RM_F) *~ *.orig */*~ */*.orig
# --- MakeMaker dist_core section:
dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)
	$(NOECHO) $(PERLRUN) -l -e "print 'Warning: Makefile possibly out of
date with $(VERSION_FROM)'\
    if -e '$(VERSION_FROM)' and -M '$(VERSION_FROM)' < -M '$(FIRST_MAKEFILE)';"
tardist : $(DISTVNAME).tar$(SUFFIX)
	$(NOECHO) $(NOOP)
uutardist : $(DISTVNAME).tar$(SUFFIX)
	uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) >
$(DISTVNAME).tar$(SUFFIX)_uu
$(DISTVNAME).tar$(SUFFIX) : distdir
	$(PREOP)
	$(TO_UNIX)
	$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
	$(RM_RF) $(DISTVNAME)
	$(COMPRESS) $(DISTVNAME).tar
	$(POSTOP)
zipdist : $(DISTVNAME).zip
	$(NOECHO) $(NOOP)
$(DISTVNAME).zip : distdir
	$(PREOP)
	$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
	$(RM_RF) $(DISTVNAME)
	$(POSTOP)
shdist : distdir
	$(PREOP)
	$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
	$(RM_RF) $(DISTVNAME)
	$(POSTOP)
# --- MakeMaker distdir section:
distdir : metafile metafile_addtomanifest
	$(RM_RF) $(DISTVNAME)
	$(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
		-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
# --- MakeMaker dist_test section:
disttest : distdir
	cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
	cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
	cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
# --- MakeMaker dist_ci section:
ci :
	$(PERLRUN) "-MExtUtils::Manifest=maniread" \
	  -e "@all = keys %{ maniread() };" \
	  -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
	  -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
# --- MakeMaker install section:
install :: all pure_install doc_install doc_update
install_perl :: all pure_perl_install doc_perl_install
install_site :: all pure_site_install doc_site_install
install_vendor :: all pure_vendor_install doc_vendor_install
pure_install :: pure_$(INSTALLDIRS)_install
doc_install :: doc_$(INSTALLDIRS)_install
doc_update ::
	$(NOECHO) $(PERLRUN) "-MActivePerl::DocTools" -e ActivePerl::DocTools::WriteTOC
pure__install : pure_site_install
	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
doc__install : doc_site_install
	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install ::
	$(NOECHO) $(MOD_INSTALL) \
		read $(PERL_ARCHLIB)\auto\$(FULLEXT)\.packlist \
		write $(DESTINSTALLARCHLIB)\auto\$(FULLEXT)\.packlist \
		$(INST_LIB) $(DESTINSTALLPRIVLIB) \
		$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
		$(INST_BIN) $(DESTINSTALLBIN) \
		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
		$(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
		$(INST_MAN3DIR) $(DESTINSTALLMAN3DIR) \
		$(INST_HTMLDIR) $(DESTINSTALLHTMLDIR)
	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
		$(SITEARCHEXP)\auto\$(FULLEXT)
pure_site_install ::
	$(NOECHO) $(MOD_INSTALL) \
		read $(SITEARCHEXP)\auto\$(FULLEXT)\.packlist \
		write $(DESTINSTALLSITEARCH)\auto\$(FULLEXT)\.packlist \
		$(INST_LIB) $(DESTINSTALLSITELIB) \
		$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
		$(INST_BIN) $(DESTINSTALLSITEBIN) \
		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
		$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
		$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) \
		$(INST_HTMLDIR) $(DESTINSTALLSITEHTMLDIR)
	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
		$(PERL_ARCHLIB)\auto\$(FULLEXT)
pure_vendor_install ::
	$(NOECHO) $(MOD_INSTALL) \
		read $(VENDORARCHEXP)\auto\$(FULLEXT)\.packlist \
		write $(DESTINSTALLVENDORARCH)\auto\$(FULLEXT)\.packlist \
		$(INST_LIB) $(DESTINSTALLVENDORLIB) \
		$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
		$(INST_BIN) $(DESTINSTALLVENDORBIN) \
		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
		$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
		$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR) \
		$(INST_HTMLDIR) $(DESTINSTALLVENDORHTMLDIR)
doc_perl_install ::
	$(NOECHO) $(ECHO) Appending installation info to
$(DESTINSTALLARCHLIB)/perllocal.pod
	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
	-$(NOECHO) $(DOC_INSTALL) \
		"Module" "$(NAME)" \
		"installed into" "$(INSTALLPRIVLIB)" \
		LINKTYPE "$(LINKTYPE)" \
		VERSION "$(VERSION)" \
		EXE_FILES "$(EXE_FILES)" \
		>> $(DESTINSTALLARCHLIB)\perllocal.pod
doc_site_install ::
	$(NOECHO) $(ECHO) Appending installation info to
$(DESTINSTALLARCHLIB)/perllocal.pod
	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
	-$(NOECHO) $(DOC_INSTALL) \
		"Module" "$(NAME)" \
		"installed into" "$(INSTALLSITELIB)" \
		LINKTYPE "$(LINKTYPE)" \
		VERSION "$(VERSION)" \
		EXE_FILES "$(EXE_FILES)" \
		>> $(DESTINSTALLARCHLIB)\perllocal.pod
doc_vendor_install ::
	$(NOECHO) $(ECHO) Appending installation info to
$(DESTINSTALLARCHLIB)/perllocal.pod
	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
	-$(NOECHO) $(DOC_INSTALL) \
		"Module" "$(NAME)" \
		"installed into" "$(INSTALLVENDORLIB)" \
		LINKTYPE "$(LINKTYPE)" \
		VERSION "$(VERSION)" \
		EXE_FILES "$(EXE_FILES)" \
		>> $(DESTINSTALLARCHLIB)\perllocal.pod
uninstall :: uninstall_from_$(INSTALLDIRS)dirs doc_update
uninstall_from_perldirs ::
	$(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)\auto\$(FULLEXT)\.packlist
uninstall_from_sitedirs ::
	$(NOECHO) $(UNINSTALL) $(SITEARCHEXP)\auto\$(FULLEXT)\.packlist
uninstall_from_vendordirs ::
	$(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)\auto\$(FULLEXT)\.packlist
# --- MakeMaker force section:
# Phony target to force checking subdirectories.
FORCE:
	$(NOECHO) $(NOOP)
# --- MakeMaker perldepend section:
PERL_HDRS = \
	$(PERL_INC)/EXTERN.h		\
	$(PERL_INC)/INTERN.h		\
	$(PERL_INC)/XSUB.h		\
	$(PERL_INC)/av.h		\
	$(PERL_INC)/cc_runtime.h	\
	$(PERL_INC)/config.h		\
	$(PERL_INC)/cop.h		\
	$(PERL_INC)/cv.h		\
	$(PERL_INC)/dosish.h		\
	$(PERL_INC)/embed.h		\
	$(PERL_INC)/embedvar.h		\
	$(PERL_INC)/fakethr.h		\
	$(PERL_INC)/form.h		\
	$(PERL_INC)/gv.h		\
	$(PERL_INC)/handy.h		\
	$(PERL_INC)/hv.h		\
	$(PERL_INC)/intrpvar.h		\
	$(PERL_INC)/iperlsys.h		\
	$(PERL_INC)/keywords.h		\
	$(PERL_INC)/mg.h		\
	$(PERL_INC)/nostdio.h		\
	$(PERL_INC)/op.h		\
	$(PERL_INC)/opcode.h		\
	$(PERL_INC)/patchlevel.h	\
	$(PERL_INC)/perl.h		\
	$(PERL_INC)/perlio.h		\
	$(PERL_INC)/perlsdio.h		\
	$(PERL_INC)/perlsfio.h		\
	$(PERL_INC)/perlvars.h		\
	$(PERL_INC)/perly.h		\
	$(PERL_INC)/pp.h		\
	$(PERL_INC)/pp_proto.h		\
	$(PERL_INC)/proto.h		\
	$(PERL_INC)/regcomp.h		\
	$(PERL_INC)/regexp.h		\
	$(PERL_INC)/regnodes.h		\
	$(PERL_INC)/scope.h		\
	$(PERL_INC)/sv.h		\
	$(PERL_INC)/thrdvar.h		\
	$(PERL_INC)/thread.h		\
	$(PERL_INC)/unixish.h		\
	$(PERL_INC)/util.h
$(OBJECT) : $(PERL_HDRS)
Git.c : $(XSUBPPDEPS)
# --- MakeMaker makefile section:
$(OBJECT) : $(FIRST_MAKEFILE)
# We take a very conservative approach here, but it's worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping.
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
	$(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
	$(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."
	$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
	$(NOECHO) $(MV)   $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
	-$(MAKE) -f $(MAKEFILE_OLD) clean $(DEV_NULL) || $(NOOP)
	$(PERLRUN) Makefile.PL "PREFIX=/d/scripts/git" "DEFINE=
-DNO_D_TYPE_IN_DIRENT -DNO_D_INO_IN_DIRENT -DNO_SYMLINK_HEAD -DNO_IPV6
-DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR -DNO_STRLCPY -DNO_MMAP
-DGIT_VERSION='"1.4.2.rc2.gb80eb"'" "LIBS= -lz  -liconv  -lcrypto"
	$(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
	$(NOECHO) $(ECHO) "==> Please rerun the make command.  <=="
	false
# --- MakeMaker staticmake section:

# --- MakeMaker makeaperl section --- MAP_TARGET = perl FULLPERL = C:\perl\bin\perl.exe

$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
	$(MAKE) -f $(MAKE_APERL_FILE) $@
$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
	$(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
	$(NOECHO) $(PERLRUNINST) \
		Makefile.PL DIR= \
		MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
		MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= \
		PREFIX=/d/scripts/git \
		DEFINE=' -DNO_D_TYPE_IN_DIRENT -DNO_D_INO_IN_DIRENT
-DNO_SYMLINK_HEAD -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>'
-DNO_STRCASESTR -DNO_STRLCPY -DNO_MMAP
-DGIT_VERSION='"1.4.2.rc2.gb80eb"'' \
		LIBS=' -lz  -liconv  -lcrypto'
# --- MakeMaker test section:

TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) TEST_FILE = test.pl TEST_FILES = TESTDB_SW = -d

testdb :: testdb_$(LINKTYPE)
test :: $(TEST_TYPE)
	$(NOECHO) $(ECHO) 'No tests defined for $(NAME) extension.'
test_dynamic :: pure_all
testdb_dynamic :: pure_all
	$(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
test_ : test_dynamic
test_static :: pure_all $(MAP_TARGET)
testdb_static :: pure_all $(MAP_TARGET)
	./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
# --- MakeMaker ppd section:
# Creates a PPD (Perl Package Description) for a binary distribution.
ppd:
	$(NOECHO) $(ECHO) "<SOFTPKG NAME=\"$(DISTNAME)\"
VERSION=\"0,01,0,0\">" > $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "    <TITLE>$(DISTNAME)</TITLE>" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "    <ABSTRACT></ABSTRACT>" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "    <AUTHOR></AUTHOR>" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "    <IMPLEMENTATION>" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "        <OS NAME=\"$(OSNAME)\" />" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "        <ARCHITECTURE
NAME=\"MSWin32-x86-multi-thread-5.8\" />" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "        <CODEBASE HREF=\"\" />" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "    </IMPLEMENTATION>" >> $(DISTNAME).ppd
	$(NOECHO) $(ECHO) "</SOFTPKG>" >> $(DISTNAME).ppd
# --- MakeMaker pm_to_blib section:
pm_to_blib: $(TO_INST_PM)
	$(NOECHO) $(PERLRUN) -MExtUtils::Install -e "pm_to_blib({@ARGV},
'$(INST_LIB)\auto', '$(PM_FILTER)')"\
	  private-Error.pm $(INST_LIBDIR)/Error.pm \
	  Git.pm $(INST_LIBDIR)/Git.pm
	$(NOECHO) $(TOUCH) $@
# --- MakeMaker selfdocument section:
# --- MakeMaker postamble section:
instlibdir:
	@echo '$(INSTALLSITEARCH)'
check:
	perl -MDevel::PPPort -le 'Devel::PPPort::WriteFile(".ppport.h")' && \
	perl .ppport.h --compat-version=5.6.0 Git.xs && \
	rm .ppport.h
# End.
Previous: Alex RiesenNext: carbonated beverage
Message 9 of 20 in “What's in git.git”
  1. Junio C HamanoAug 1, 2006
  2. Johannes SchindelinAug 2, 2006
  3. Junio C HamanoAug 2, 2006
  4. Alex RiesenAug 2, 2006
  5. Junio C HamanoAug 3, 2006
  6. Alex RiesenAug 3, 2006
  7. Junio C HamanoAug 3, 2006
  8. Alex RiesenAug 3, 2006
  9. Alex RiesenAug 3, 2006
  10. carbonated beverageAug 2, 2006
  11. Junio C HamanoAug 3, 2006
  12. A Large Angry SCMAug 3, 2006
  13. carbonated beverageAug 3, 2006
  14. carbonated beverageAug 3, 2006
  15. carbonated beverageAug 3, 2006
  16. carbonated beverageAug 3, 2006
  17. Junio C HamanoAug 3, 2006
  18. carbonated beverageAug 3, 2006
  19. carbonated beverageAug 3, 2006
  20. Jakub NarebskiAug 3, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.