Stas Bekman wrote:

Stas Bekman wrote:

Steve Hay wrote:

Stas Bekman wrote:

Here is what happens:

MM 6.03 used to create libapreq.a but not libapreq.so, libapreq.a was just a by product and never was intented to be installed. Request.so was statically linking libapreq.a into it.

Now with 6.12 it creates both libapreq.so and libapreq.so, so when Request.so is linked, it links libapreq.so dynamically, and of course it can't resolve it later when loading.

This patch fixes things for me in libapreq and works with MM 6.03 and 6.12. Steve, please confirm that it works for you and I'll commit it.




No, it doesn't fix it :-(

My problem sounds a little different to yours. You talk above about "... when Request.so is linked...", but my build process doesn't get that far.

Under MM 6.03 it used to build libapreq.lib, then Request.dll then Cookie.dll.
Now, under MM 6.12, it builds libapreq.lib, then falls over ("boot_libapreq" unresolved) when trying to build libapreq.dll.



I think the cause is the same. MM 6.12 builds the shared object of libapreq (dll in your case and .so in mine), and it didn't use to do that.


OK, try this patch:

No, still doesn't fix it :-(


Doesn't seem to make any difference, actually. It still tries to build libapreq.dll, and still fails in the same way. I've attached the c/Makefile that was generated by the patched c/Makefile.PL (which should have skipped the dynamic_* bits, but seems not to have done).

Steve
# This Makefile is for the libapreq extension to perl.
#
# It was generated automatically by MakeMaker version
# 6.12 (Revision: 1.124) from the contents of
# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
#
#       ANY CHANGES MADE HERE WILL BE LOST!
#
#   MakeMaker ARGV: ()
#
#   MakeMaker Parameters:

#     INC => q[ -I"C:/apache/include" -I"C:/apache/include/../os/win32" 
-I"C:/Temp/mod_perl-1.28/src/modules/perl" ]
#     NAME => q[libapreq]
#     OBJECT => q[apache_request.o apache_cookie.o apache_multipart_buffer.o]
#     TYPEMAPS => [q[C:/Temp/mod_perl-1.28/src/modules/perl/typemap]]
#     VERSION => q[1.2]

# --- MakeMaker post_initialize section:


# --- MakeMaker const_config section:

# These definitions are from config.sh (via C:/perl5/lib/Config.pm)

# They may have been overridden via Makefile.PL or on the command line
AR = lib
CC = cl
CCCDLFLAGS =  
CCDLFLAGS =  
DLEXT = dll
DLSRC = dl_win32.xs
LD = link
LDDLFLAGS = -dll -nologo -nodefaultlib -release  -libpath:"C:\perl5\lib\CORE"  
-machine:x86
LDFLAGS = -nologo -nodefaultlib -release  -libpath:"C:\perl5\lib\CORE"  -machine:x86
LIBC = msvcrt.lib
LIB_EXT = .lib
OBJ_EXT = .obj
OSNAME = MSWin32
OSVERS = 4.0
RANLIB = rem
SITELIBEXP = C:\perl5\site\lib
SITEARCHEXP = C:\perl5\site\lib
SO = dll
EXE_EXT = .exe
FULL_AR = 
VENDORARCHEXP = 
VENDORLIBEXP = 


# --- MakeMaker constants section:
AR_STATIC_ARGS = cr
DIRFILESEP = ^\
NAME = libapreq
NAME_SYM = libapreq
VERSION = 1.2
VERSION_MACRO = VERSION
VERSION_SYM = 1_2
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
XS_VERSION = 1.2
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
MAN1EXT = 1
MAN3EXT = 3
INSTALLDIRS = site
DESTDIR = 
PREFIX = 
PERLPREFIX = C:\perl5
SITEPREFIX = C:\perl5\site
VENDORPREFIX = 
INSTALLPRIVLIB = $(PERLPREFIX)\lib
DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
INSTALLSITELIB = $(SITEPREFIX)\lib
DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
INSTALLVENDORLIB = 
DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
INSTALLARCHLIB = $(PERLPREFIX)\lib
DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
INSTALLSITEARCH = $(SITEPREFIX)\lib
DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
INSTALLVENDORARCH = 
DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
INSTALLBIN = $(PERLPREFIX)\bin
DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
INSTALLSITEBIN = C:\perl5\bin
DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
INSTALLVENDORBIN = 
DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
INSTALLSCRIPT = $(PERLPREFIX)\bin
DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
INSTALLMAN1DIR = $(PERLPREFIX)\man\man1
DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)
INSTALLSITEMAN1DIR = $(SITEPREFIX)\man\man1
DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)
INSTALLVENDORMAN1DIR = 
DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)
INSTALLMAN3DIR = $(PERLPREFIX)\man\man3
DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)
INSTALLSITEMAN3DIR = $(SITEPREFIX)\man\man3
DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)
INSTALLVENDORMAN3DIR = 
DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)
PERL_LIB = C:\perl5\lib
PERL_ARCHLIB = C:\perl5\lib
LIBPERL_A = libperl.lib
FIRST_MAKEFILE = Makefile
MAKEFILE_OLD = $(FIRST_MAKEFILE).old
MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl
PERLMAINCC = $(CC)
PERL_INC = C:\perl5\lib\CORE
PERL = C:\perl5\bin\perl.exe
FULLPERL = C:\perl5\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:/perl5/lib/ExtUtils/MakeMaker.pm
MM_VERSION  = 6.12
MM_REVISION = 1.124

# 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 = libapreq
BASEEXT = libapreq
PARENT_NAME = 
DLBASE = $(BASEEXT)
VERSION_FROM = 
INC =  -I"C:/apache/include" -I"C:/apache/include/../os/win32" 
-I"C:/Temp/mod_perl-1.28/src/modules/perl" 
OBJECT = apache_request$(OBJ_EXT) apache_cookie$(OBJ_EXT) 
apache_multipart_buffer$(OBJ_EXT)
LDFROM = $(OBJECT)
LINKTYPE = dynamic

# Handy lists of source code files:
XS_FILES = 
C_FILES  = apache_cookie.c \
        apache_multipart_buffer.c \
        apache_request.c
O_FILES  = apache_cookie.obj \
        apache_multipart_buffer.obj \
        apache_request.obj
H_FILES  = apache_cookie.h \
        apache_multipart_buffer.h \
        apache_request.h
MAN1PODS = 
MAN3PODS = 

# 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 = apache_cookie.h \
        apache_multipart_buffer.h \
        apache_request.h

PM_TO_BLIB = apache_request.h \
        $(INST_ARCHLIB)/auto/libapreq/include/apache_request.h \
        apache_cookie.h \
        $(INST_ARCHLIB)/auto/libapreq/include/apache_cookie.h \
        apache_multipart_buffer.h \
        $(INST_ARCHLIB)/auto/libapreq/include/apache_multipart_buffer.h


# --- MakeMaker platform_constants section:
MM_Win32_VERSION = 1.08


# --- 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:\perl5\lib\ExtUtils
XSUBPP = $(XSUBPPDIR)/xsubpp
XSPROTOARG = 
XSUBPPDEPS = C:\perl5\lib\ExtUtils\typemap 
C:/Temp/mod_perl-1.28/src/modules/perl/typemap $(XSUBPP)
XSUBPPARGS = -typemap C:\perl5\lib\ExtUtils\typemap -typemap 
C:/Temp/mod_perl-1.28/src/modules/perl/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 [EMAIL PROTECTED]"
ECHO_N = $(PERLRUN)  -e "print [EMAIL PROTECTED]"
UNINST = 0
VERBINST = 0
MOD_INSTALL = $(PERLRUN) -MExtUtils::Install -e "install([EMAIL PROTECTED], 
'$(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 skipped.

# --- MakeMaker macro section:


# --- MakeMaker depend section:


# --- MakeMaker cflags section:

CCFLAGS = -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT 
-DHAVE_DES_FCRYPT -DPERL_DEBUGGING_MSTATS -DUSE_PERLIO -DPERL_MSVCRT_READFIX
OPTIMIZE = -MD -DNDEBUG -O1
PERLTYPE = 
MPOLLUTE = 


# --- MakeMaker const_loadlibs section:

# libapreq might depend on some other libraries:
# See ExtUtils::Liblist for details
#
LDLOADLIBS = libeay32.lib  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib 
wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib
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:
        cl -nologo -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:
LD_RUN_PATH = 

$(DLBASE).$(DLEXT): $(INST_DYNAMIC)
all :: pure_all
        $(NOECHO) $(NOOP)


pure_all ::  static 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:\perl5\lib\CORE\perl.h
        $(NOECHO) $(MKPATH) $(INST_AUTODIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\perl5\lib\CORE\perl.h 
$(INST_AUTODIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)

$(INST_LIBDIR)\.exists :: C:\perl5\lib\CORE\perl.h
        $(NOECHO) $(MKPATH) $(INST_LIBDIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\perl5\lib\CORE\perl.h $(INST_LIBDIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)

$(INST_ARCHAUTODIR)\.exists :: C:\perl5\lib\CORE\perl.h
        $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\perl5\lib\CORE\perl.h 
$(INST_ARCHAUTODIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)

$(O_FILES): $(H_FILES)

help:
        perldoc ExtUtils::MakeMaker


# --- MakeMaker linkext section:

linkext :: $(LINKTYPE)
        $(NOECHO) $(NOOP)


# --- MakeMaker dlsyms section:

libapreq.def: Makefile.PL
        $(PERLRUN) -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"libapreq\", 'DLBASE' => '$(BASEEXT)', 'DL_FUNCS' => {  
}, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"


# --- MakeMaker dynamic section:

## $(INST_PM) has been moved to the all: target.
## It remains here for awhile to allow for old usage: "make dynamic"
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 = 
INST_DYNAMIC_DEP = 

$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) 
$(INST_ARCHAUTODIR)$(DIRFILESEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) 
$(INST_DYNAMIC_DEP)
        $(LD) -out:$@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) 
$(PERL_ARCHIVE) $(LDLOADLIBS) -def:$(EXPORT_LIST)
        $(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) $@
        $(AR) -out:$@ $(OBJECT)
        $(CHMOD) $(PERM_RWX) $@
        $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)\extralibs.ld



# --- MakeMaker manifypods section:

# --- Begin manifypods section:
POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"


manifypods : pure_all 
        $(NOECHO) $(NOOP)


# --- End manifypods section --- #



# --- 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) ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all 
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) *.pdb



# --- 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)  $(MAKEFILE_OLD) $(FIRST_MAKEFILE) 
$(INST_ARCHLIB)/auto/libapreq/include/apache_cookie.h 
$(INST_ARCHLIB)/auto/libapreq/include/apache_multipart_buffer.h
        $(RM_F) $(INST_ARCHLIB)/auto/libapreq/include/apache_request.h


# --- MakeMaker metafile section:
metafile :
        $(NOECHO) $(ECHO) "#XXXXXXX This is a prototype!!!  It will change in the 
future!!! XXXXX#" > META.yml
        $(NOECHO) $(ECHO) "name:         libapreq" >> META.yml
        $(NOECHO) $(ECHO) "version:      1.2" >> META.yml
        $(NOECHO) $(ECHO) "version_from: " >> 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.12" >> 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 skipped.

# --- MakeMaker dist_core section skipped.

# --- MakeMaker distdir section skipped.

# --- MakeMaker dist_test section skipped.

# --- MakeMaker dist_ci section skipped.

# --- MakeMaker install section skipped.

# --- 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)


# --- 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 
        $(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:\perl5\bin\perl.exe


# --- 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=\"1,2,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-perlio\" />" >> 
$(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([EMAIL PROTECTED], 
'$(INST_LIB)\auto', '$(PM_FILTER)')"\
          apache_request.h $(INST_ARCHLIB)/auto/libapreq/include/apache_request.h \
          apache_cookie.h $(INST_ARCHLIB)/auto/libapreq/include/apache_cookie.h \
          apache_multipart_buffer.h 
$(INST_ARCHLIB)/auto/libapreq/include/apache_multipart_buffer.h 
        $(NOECHO) $(TOUCH) $@

# --- MakeMaker selfdocument section:


# --- MakeMaker postamble section:


# End.

Reply via email to