Message ID | 20181226230523.16572-3-randall.s.becker@rogers.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | HPE NonStop Port Commits | expand |
On Wed, Dec 26, 2018 at 6:05 PM <randall.s.becker@rogers.com> wrote: > A number of configuration options are not automatically detected by > configure mechanisms, including the location of Perl and Python. > [...] > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> > --- > diff --git a/config.mak.uname b/config.mak.uname > @@ -441,26 +441,45 @@ ifeq ($(uname_S),NONSTOP_KERNEL) > # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl). > - PERL_PATH = ${prefix}/bin/perl > - PYTHON_PATH = ${prefix}/bin/python > + PERL_PATH = /usr/bin/perl > + PYTHON_PATH = /usr/bin/python Is the in-code comment about ${prefix} still applicable after this change? > + # The current /usr/coreutils/rm at lowest support level does not work > + # with the git test structure. Default to the older rm. > + RM = /bin/rm -f This comment would be far more helpful if it explained in what way 'rm' actually fails with the test suite. Without that information, the comment is effectively useless. > # As detected by './configure'. > # Missdetected, hence commented out, see below. > #NO_CURL = YesPlease > # Added manually, see above. > + # Missdetected, hence commented out, see below. > + #NO_CURL = YesPlease > + # Added manually, see above. These added lines are just duplicating the existing line immediately above. > + # Not detected by ./configure. Add manually. > + NEEDS_SSL_WITH_CURL = YesPlease > + NEEDS_CRYPTO_WITH_SSL = YesPlease > + HAVE_DEV_TTY = YesPlease I find these comments about 'configure' "misdetecting" or "not detecting" features confusing. The point of config.mak.uname is to provide sane defaults for people building without using the 'configure' script, so it feels weird to be talking about 'configure' here. Also, what does it mean to say that 'configure' "misdetects"? Does that mean that it fails to write assignments such as "NO_CURL = YesPlease" to config.autogen or does it mean that it writes incorrect assignments to that file? > @@ -470,8 +489,13 @@ ifeq ($(uname_S),NONSTOP_KERNEL) > + ifdef NO_PTHREADS > + else # WIP, use of Posix User Threads is planned but not working yet > + PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include > + PTHREAD_LIBS = -lput > + endif Why not a simpler 'ifndef'?
On December 27, 2018 12:03, Eric Sunshine wrote: > On Wed, Dec 26, 2018 at 6:05 PM <randall.s.becker@rogers.com> wrote: > > A number of configuration options are not automatically detected by > > configure mechanisms, including the location of Perl and Python. > > [...] > > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> > > --- > > diff --git a/config.mak.uname b/config.mak.uname @@ -441,26 +441,45 > @@ > > ifeq ($(uname_S),NONSTOP_KERNEL) > > # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl). > > - PERL_PATH = ${prefix}/bin/perl > > - PYTHON_PATH = ${prefix}/bin/python > > + PERL_PATH = /usr/bin/perl > > + PYTHON_PATH = /usr/bin/python > > Is the in-code comment about ${prefix} still applicable after this change? The ${prefix} is not applicable on this platform for perl and python. Those locations must be in /usr/bin and are managed by the Operating System vendor not by customers. The change is wrapped in an IF so is only applicable to NonStop. > > > + # The current /usr/coreutils/rm at lowest support level does not work > > + # with the git test structure. Default to the older rm. > > + RM = /bin/rm -f > > This comment would be far more helpful if it explained in what way 'rm' > actually fails with the test suite. Without that information, the comment is > effectively useless. There is a temporary failure in the vendor supplied rm. The cause we never disclosed to my team. Honestly, it created a large amount of angst that should be gone but there are still old OS versions that have this issue. This is as much as we know. > > > # As detected by './configure'. > > # Missdetected, hence commented out, see below. > > #NO_CURL = YesPlease > > # Added manually, see above. > > + # Missdetected, hence commented out, see below. > > + #NO_CURL = YesPlease > > + # Added manually, see above. > > These added lines are just duplicating the existing line immediately above. That's weird. I'll fix it. Thanks for the catch. > > > + # Not detected by ./configure. Add manually. > > + NEEDS_SSL_WITH_CURL = YesPlease > > + NEEDS_CRYPTO_WITH_SSL = YesPlease > > + HAVE_DEV_TTY = YesPlease > > I find these comments about 'configure' "misdetecting" or "not detecting" > features confusing. The point of config.mak.uname is to provide sane > defaults for people building without using the 'configure' script, so it feels > weird to be talking about 'configure' > here. Also, what does it mean to say that 'configure' "misdetects"? > Does that mean that it fails to write assignments such as "NO_CURL = > YesPlease" to config.autogen or does it mean that it writes incorrect > assignments to that file? This came from another team. We can't currently use config.autogen anyway on the platform - this came from the prior attempt at porting. By misdetect I mean just that, however. We do not get good values. > > > @@ -470,8 +489,13 @@ ifeq ($(uname_S),NONSTOP_KERNEL) > > + ifdef NO_PTHREADS > > + else # WIP, use of Posix User Threads is planned but not working yet > > + PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include > > + PTHREAD_LIBS = -lput > > + endif > > Why not a simpler 'ifndef'? Another team is current working on the PTHREAD implementation and wanted this. I think what happened was that we have non-pthread requirements under development. I can remove this.
"Randall S. Becker" <randall.s.becker@rogers.com> writes: > On December 27, 2018 12:03, Eric Sunshine wrote: >> On Wed, Dec 26, 2018 at 6:05 PM <randall.s.becker@rogers.com> wrote: >> > A number of configuration options are not automatically detected by >> > configure mechanisms, including the location of Perl and Python. >> > [...] >> > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> >> > --- >> > diff --git a/config.mak.uname b/config.mak.uname @@ -441,26 +441,45 >> @@ >> > ifeq ($(uname_S),NONSTOP_KERNEL) >> > # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl). >> > - PERL_PATH = ${prefix}/bin/perl >> > - PYTHON_PATH = ${prefix}/bin/python >> > + PERL_PATH = /usr/bin/perl >> > + PYTHON_PATH = /usr/bin/python >> >> Is the in-code comment about ${prefix} still applicable after this change? > > The ${prefix} is not applicable on this platform for perl and > python. Those locations must be in /usr/bin and are managed by the > Operating System vendor not by customers. The change is wrapped in > an IF so is only applicable to NonStop. So the answer is "Our's are in ${prefix}/bin..." is no longer correct? If so, this patch must remove that stale comment at the same time, no?
On December 28, 2018 15:07, Junio C Hamano > "Randall S. Becker" <randall.s.becker@rogers.com> writes: > > > On December 27, 2018 12:03, Eric Sunshine wrote: > >> On Wed, Dec 26, 2018 at 6:05 PM <randall.s.becker@rogers.com> wrote: > >> > A number of configuration options are not automatically detected by > >> > configure mechanisms, including the location of Perl and Python. > >> > [...] > >> > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> > >> > --- > >> > diff --git a/config.mak.uname b/config.mak.uname @@ -441,26 > +441,45 > >> @@ > >> > ifeq ($(uname_S),NONSTOP_KERNEL) > >> > # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl). > >> > - PERL_PATH = ${prefix}/bin/perl > >> > - PYTHON_PATH = ${prefix}/bin/python > >> > + PERL_PATH = /usr/bin/perl > >> > + PYTHON_PATH = /usr/bin/python > >> > >> Is the in-code comment about ${prefix} still applicable after this change? > > > > The ${prefix} is not applicable on this platform for perl and python. > > Those locations must be in /usr/bin and are managed by the Operating > > System vendor not by customers. The change is wrapped in an IF so is > > only applicable to NonStop. > > So the answer is "Our's are in ${prefix}/bin..." is no longer correct? If so, this > patch must remove that stale comment at the same time, no? Yessir. Fixed at v3 (now at v4).
diff --git a/config.mak.uname b/config.mak.uname index 3ee7da0e23..aa4432ac2f 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -441,26 +441,45 @@ ifeq ($(uname_S),NONSTOP_KERNEL) # INLINE='' would just replace one set of warnings with another and # still not compile in c89 mode, due to non-const array initializations. CC = cc -c99 + # Build down-rev compatible objects that don't use our new getopt_long. + ifeq ($(uname_R).$(uname_V),J06.21) + CC += -WRVU=J06.20 + endif + ifeq ($(uname_R).$(uname_V),L17.02) + CC += -WRVU=L16.05 + endif + # Disable all optimization, seems to result in bad code, with -O or -O2 # or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects # abends on "git push". Needs more investigation. - CFLAGS = -g -O0 + CFLAGS = -g -O0 -Winline # We'd want it to be here. prefix = /usr/local # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl). - PERL_PATH = ${prefix}/bin/perl - PYTHON_PATH = ${prefix}/bin/python - + PERL_PATH = /usr/bin/perl + PYTHON_PATH = /usr/bin/python + # The current /usr/coreutils/rm at lowest support level does not work + # with the git test structure. Default to the older rm. + RM = /bin/rm -f # As detected by './configure'. # Missdetected, hence commented out, see below. #NO_CURL = YesPlease # Added manually, see above. + # Missdetected, hence commented out, see below. + #NO_CURL = YesPlease + # Added manually, see above. + # Not detected by ./configure. Add manually. + NEEDS_SSL_WITH_CURL = YesPlease + NEEDS_CRYPTO_WITH_SSL = YesPlease + HAVE_DEV_TTY = YesPlease + HAVE_LIBCHARSET_H = YesPlease HAVE_STRINGS_H = YesPlease NEEDS_LIBICONV = YesPlease NEEDS_LIBINTL_BEFORE_LIBICONV = YesPlease NO_SYS_SELECT_H = UnfortunatelyYes NO_D_TYPE_IN_DIRENT = YesPlease + NO_GETTEXT = YesPlease NO_HSTRERROR = YesPlease NO_STRCASESTR = YesPlease NO_MEMMEM = YesPlease @@ -470,8 +489,13 @@ ifeq ($(uname_S),NONSTOP_KERNEL) NO_MKDTEMP = YesPlease # Currently libiconv-1.9.1. OLD_ICONV = UnfortunatelyYes - NO_REGEX = YesPlease + NO_REGEX=NeedsStartEnd NO_PTHREADS = UnfortunatelyYes + ifdef NO_PTHREADS + else # WIP, use of Posix User Threads is planned but not working yet + PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include + PTHREAD_LIBS = -lput + endif # Not detected (nor checked for) by './configure'. # We don't have SA_RESTART on NonStop, unfortunalety.