On Wed, Sep 20, 2023 at 08:44:34PM +0100, Gavin Smith wrote: > One change at a time please. Any gnulib tests should be run > with the same compiler flags as used to compile the shared library.
On that subject, and independently of the main issue of CPPFLAGS, this is not what is actually done. In configure.ac, we have LDFLAGS="$PERL_EXT_LDFLAGS $PERL_CONF_ccdlflags $PERL_CONF_cccdlflags" In Makefile.am, the equivalent part is (rewritten for brievity) AM_LDFLAGS = -avoid-version -module $(PERL_CONF_ccdlflags) if HOST_NEEDS_NO_UNDEFINED AM_LDFLAGS += -no-undefined -L$(PERL_INC) $(PERL_CONF_libperl) endif So, there are additional flags if HOST_NEEDS_NO_UNDEFINED, but there is no use of $PERL_CONF_cccdlflags. According to my reading of the documentation, it is actually ok not to have $PERL_CONF_cccdlflags in AM_LDFLAGS as it is a CFLAGS, it should be in AM_CFLAGS if it is kept (and I think it should), and should in any case be removed from configure.ac LDFLAGS. There is another inconsistency between Makefile.am and configure.ac, in configure.ac CFLAGS is: CFLAGS="$PERL_EXT_CFLAGS $PERL_CONF_ccflags" In Makefile.am, we have AM_CFLAGS = $(PERL_CONF_ccflags) $(PERL_CONF_optimize) Such that, to be consistent, in configure.ac CFLAGS should be CFLAGS="$PERL_EXT_CFLAGS $PERL_CONF_ccflags $PERL_CONF_optimize" (and also, but it does not seems to me to be important) AM_CFLAGS += -DVERSION=\"$(VERSION)\" -DXS_VERSION=\"$(VERSION)\" AM_CFLAGS += -I$(PERL_INC) > In Patrice's patch: > > -# Do not include Perl configuration values when outputting these variables > > > > -CFLAGS=$PERL_EXT_CFLAGS > > -CPPFLAGS=$PERL_EXT_CPPFLAGS > > -LDFLAGS=$PERL_EXT_LDFLAGS > > +# for per code, should use something along > > +#CFLAGS="$CFLAGS $PERL_CONF_ccflags $PERL_CONF_cccdlflags" > > +#LDFLAGS="$LDFLAGS $PERL_CONF_ccdlflags" > > I don't know what "for per code" means. It should have been "for perl code" > > I made another unrelated change, I added $(PERL_CONF_cccdlflags) to > > AM_CFLAGS in Makefile.am, as it seems to me that it would be missing > > there, if I understood the documentation correctly. My feeling is that > > it worked previously without that kind of flags because it is also added > > by libtool, but it seems to me to be cleaner to have it there. > > Can we please stick to one change at a time; the original reported problem > is hard enough to understand and I'm still not sure how it can be fixed > in a satisfactory way, without adding extra complications. As I expand on above, this is unrelated to the original reported problem, but it is related to using the same flags in configure.ac and Makefile.am. So, I agree that it should be in another commit, and that it is confusing to bring up the two issues together, but if we really want to test gnulib with the same flags we use for compilation afterwards, we should also consider those changes. -- Pat