# New Ticket Created by  Reini Urban 
# Please include the string:  [perl #58034]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58034 >


---
osname= cygwin
osvers= 1.5.25(0.15642)
arch=   cygwin-thread-multi-64int
cc=     gcc
---
Flags:
        category=utilities
        severity=medium
        ack=no
---
make reconfig ignores the given Configure.pl command-line args.
We need to save the config_args somewhere to be able to do
make reconfig like

CONFIG_ARGS = @config_args@

$(GEN_CONFIGS) : Makefile
        $(PERL) Configure.pl $(CONFIG_ARGS)

We really should track all dependencies and do a make reconfig 
automatically.

The CONFIG_ARGS should be stored in Makefile.
config_args should be stored in config_lib.pasm as in perl5 also.

The remaining problem is multiple targets for some
$(GEN_CONFIG) : Makefile dependencies.
GNU make has ::
What about other makes?
---
Summary of my parrot 0.6.4 (r0) configuration:
         configdate='Sat Jul 19 10:18:22 2008 GMT'
         Platform:
           osname=cygwin, archname=cygwin-thread-multi-64int
           jitcapable=1, jitarchname=i386-cygwin,
           jitosname=CYGWIN, jitcpuarch=i386
           execcapable=1
           perl=/usr/bin/perl.exe
         Compiler:
           cc='gcc', ccflags='-U__STRICT_ANSI__  -pipe -I/usr/local/include
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC
-DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE
-DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT
-falign-functions=16 -maccumulate-outgoing-args -W -Wall
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
-Wdisabled-optimization -Wendif-labels -Wextra -Wformat
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-braces
-Wno-missing-format-attribute -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings
-Wbad-function-cast -Wdeclaration-after-statement
-Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull
-DDISABLE_GC_DEBUG=1 -DNDEBUG -O3 -DHAS_GETTEXT',
         Linker and Libraries:
           ld='gcc', ldflags=' -Wl,--enable-auto-import
-Wl,--export-all-symbols -Wl,--stack,8388608
-Wl,--enable-auto-image-base -L/usr/local/lib',
           cc_ldflags='',
           libs='-lcrypt -lgmp -lreadline -lpcre /usr/bin/glut32.dll -lglu32
-lopengl32 -lcrypto -lintl'
         Dynamic Linking:
           share_ext='.dll', ld_share_flags='-shared',
           load_ext='.dll', ld_load_flags='-shared'
         Types:
           iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
           ptrsize=4, ptr_alignment=1 byteorder=1234,
           nv=double, numvalsize=8, doublesize=8
         Locally applied patches:
            [perl #51944] [DOCS]  Cygwin Readme
            [perl #56562] [PATCH] root.in: add cygwin importlib
            [perl #56544] [PATCH] install_files.pl
            [perl #56558] [PATCH] pdb rename to parrot_pdb
            [perl #56998] [TODO]  rename cygwin dll to cygparrot.dll
            [perl #57006] [PATCH] add cygwin opengl config quirks
            [perl #57110] [PATCH] ncurses for cygwin
            [perl #57112] [PATCH] postgres for cygwin
            [perl #57114] [PATCH] urm RealBin issue
---
Environment:
            CYGWIN =server
            HOME =/home/rurban
            LANG  (unset)
            LANGUAGE  (unset)
            LD_LIBRARY_PATH  (unset)
            LOGDIR  (unset)
            PATH
=~/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/usr/bin:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Programme/ATI

Technologies/ATI.ACE/Core-Static:/usr/local/bin:/usr/lib/gstreamer-0.8:/usr/lib/lapack
            SHELL  (unset)



2008-08-17 [EMAIL PROTECTED]

make reconfig ignores the given Configure.pl command-line args.
We need to save the config_args somewhere to be able to do 
make reconfig like 

CONFIG_ARGS = @config_args@

$(GEN_CONFIGS) : Makefile
	$(PERL) Configure.pl $(CONFIG_ARGS)

We really should track all dependencies and do a make reconfig automatically.

The CONFIG_ARGS should be stored in Makefile.
config_args should be stored in config_lib.pasm as in perl5 also.

Index: parrot-svn/config/gen/makefiles/root.in
===================================================================
--- parrot-svn.orig/config/gen/makefiles/root.in
+++ parrot-svn/config/gen/makefiles/root.in
@@ -19,6 +19,7 @@
 DEVEL           = @DEVEL@
 VERSION         = @[EMAIL PROTECTED](DEVEL)
 SOVERSION       = @VERSION@
+CONFIG_ARGS     = @config_args@
 
 # Override at least PREFIX with the install location if you're going
 # to be using this outside of your build area.
@@ -999,6 +1000,9 @@ $(INC_DIR)/oplib/ops.h lib/Parrot/OpLib/
     lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(OPS_DIR)/ops.num $(OPS_DIR)/ops.skip
 	$(PERL) $(BUILD_TOOLS_DIR)/ops2pm.pl $(OPS_FILES)
 
+$(GEN_CONFIGS) : Makefile
+	$(PERL) Configure.pl $(CONFIG_ARGS)
+
 ###############################################################################
 #
 # Examples (Assembly):
@@ -1774,7 +1778,7 @@ svnclobber : .svn
 	$(PERL) tools/dev/svnclobber.pl
 
 reconfig : clean
-	$(PERL) Configure.pl
+	$(PERL) Configure.pl $(CONFIG_ARGS)
 
 manitest :
 	$(PERL) tools/dev/manicheck.pl
Index: parrot-svn/Configure.pl
===================================================================
--- parrot-svn.orig/Configure.pl
+++ parrot-svn/Configure.pl
@@ -63,6 +63,8 @@ $conf->add_steps( get_steps_list() );
 
 # from Parrot::Configure::Data
 $conf->options->set( %{$args} );
+# save the command-line
+$conf->data->set(config_args => join(" ", @ARGV));
 
 # Log files created by Configure.pl in MANIFEST.configure.generated
 $conf->{active_configuration} = 1;

Reply via email to