lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [6507] Abandon MSYS


From: Greg Chicares
Subject: [lmi-commits] [6507] Abandon MSYS
Date: Fri, 12 Feb 2016 21:04:31 +0000

Revision: 6507
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6507
Author:   chicares
Date:     2016-02-12 21:03:44 +0000 (Fri, 12 Feb 2016)
Log Message:
-----------
Abandon MSYS

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/configure.ac
    lmi/trunk/path_utility.cpp
    lmi/trunk/test_coding_rules.cpp
    lmi/trunk/workhorse.make

Removed Paths:
-------------
    lmi/trunk/msw_msys.make

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/ChangeLog 2016-02-12 21:03:44 UTC (rev 6507)
@@ -38636,3 +38636,12 @@
   workhorse.make
 Abandon mpatrol.
 
+20160212T2102Z <address@hidden> [454]
+
+  configure.ac
+  msw_msys.make [expunged]
+  path_utility.cpp
+  test_coding_rules.cpp
+  workhorse.make
+Abandon MSYS.
+

Modified: lmi/trunk/configure.ac
===================================================================
--- lmi/trunk/configure.ac      2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/configure.ac      2016-02-12 21:03:44 UTC (rev 6507)
@@ -388,7 +388,7 @@
 
 dnl check for the other required libraries: under Unix we use pkg-config which
 dnl is easily available for (and often already installed under) any Linux
-dnl system but when using MSYS we do the checks manually as installing
+dnl system but when using Cygwin we do the checks manually as installing
 dnl pkg-config under Windows is unfortunately not trivial and so we can't rely
 dnl on its presence on the target system
 if test "$USE_LINUX" = "1"; then

Deleted: lmi/trunk/msw_msys.make
===================================================================
--- lmi/trunk/msw_msys.make     2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/msw_msys.make     2016-02-12 21:03:44 UTC (rev 6507)
@@ -1,152 +0,0 @@
-# Platform specifics: msw using MSYS. Study IMPORTANT NOTES below!
-#
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 
2015, 2016 Gregory W. Chicares.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-#
-# http://savannah.nongnu.org/projects/lmi
-# email: <address@hidden>
-# snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-# $Id$
-
-################################################################################
-
-$(error MSYS environment no longer supported--use Cygwin instead)
-
-# MSYS !! IMPORTANT NOTES.
-#
-# MSYS poses certain problems that must be worked around carefully.
-# These problems have been confirmed with MSYS-1.0.10 of 2004-05,
-# the latest "release" as of 2006-01. Studying this comment block
-# assiduously will save you time. Rereading it when something goes
-# wrong will also save you time.
-#
-# Its sed dates from 1998 and can't handle modern usage. It must be
-# replaced as follows:
-#  - Get the GNU sources for sed-4.0.7 (tested) or later (untested).
-#  - Build a new msw binary in MSYS with './configure && make'.
-#  - Copy it to MSYS path '$(system_root)/usr/bin/sed' to use the
-#    definition of $(SED) below (or supply your own definition).
-#
-# Do not copy this new sed binary into MSYS's own /bin/ or /usr/bin/
-# directories: that would certainly cause horrible problems. Hesitate
-# to place any file there: read the cautions in MSYS's /doc/msys/* .
-# Don't read '/doc/msys/README.rtf' alone and skip the rest: this
-# particular pitfall is documented in '/doc/msys/MSYS_WELCOME.rtf'.
-# Don't replace or delete the MSYS-provided '/bin/sed': that would
-# break your MSYS installation for packages that can use that ancient
-# version of sed.
-#
-# Replacing sed exposes a nasty problem in MSYS's bash port, which
-# "translates" any program argument it deems to be a path; details:
-#   http://article.gmane.org/gmane.comp.gnu.mingw.msys/2183
-#     [2005-01-27T01:42:19Z from Greg Chicares]
-# That problem has been worked around by changing sed commands
-# throughout the lmi makefiles in benign but ridiculous ways.
-#
-# If you modify MSYS's '/etc/fstab', end each line with '\n', and
-# don't insert any '\r' or use any editor that will do that. Check
-# your work carefully with 'od -t a /etc/fstab'.
-#
-# Don't ever use any path with embedded spaces anywhere.
-#
-# Don't attempt to mix cygwin and MSYS tools. Don't permit $PATH to
-# point to one when you want to use the other.
-#
-# Use this command
-#   echo '"\e[3~": delete-char' >>~/.inputrc
-# to make the Delete key work.
-
-################################################################################
-
-system_root := /c
-
-################################################################################
-
-# Set normal system paths explicitly unless $(USE_STD_PATHS) is specified.
-# Reason: many problems reported on mailing lists are due to users mixing
-# MSYS and cygwin tools by setting $(PATH) incorrectly; but people who set
-# $(USE_STD_PATHS) are assumed to know what they're doing. These paths are
-# slash-terminated so that setting them to empty strings works, too.
-
-# MSYS mounts /usr/bin/ as an alias for /bin/ , so it's irrelevant that
-# it places files that belong in /usr/bin/ physically in its /bin/ . This
-# has nothing to do with $(PATH).
-
-ifeq (,$(USE_STD_PATHS))
-  PATH_BIN           := /bin/
-  PATH_GCC           := /mingw/bin/
-  PATH_USR_BIN       := /usr/bin/
-  PATH_USR_LOCAL_BIN := /usr/local/bin/
-endif
-
-################################################################################
-
-# Compiler, linker, and so on.
-
-AR     := $(PATH_GCC)ar
-CC     := $(PATH_GCC)gcc
-CPP    := $(PATH_GCC)cpp
-CXX    := $(PATH_GCC)g++
-LD     := $(PATH_GCC)g++
-RC     := $(PATH_GCC)windres
-
-################################################################################
-
-# Standard utilities.
-
-# Required in /bin (if anywhere) by FHS-2.2 .
-
-CP      := $(PATH_BIN)cp
-DATE    := $(PATH_BIN)date
-ECHO    := $(PATH_BIN)echo
-GZIP    := $(PATH_BIN)gzip
-LS      := $(PATH_BIN)ls
-MKDIR   := $(PATH_BIN)mkdir
-MV      := $(PATH_BIN)mv
-RM      := $(PATH_BIN)rm
-
-TAR     := $(PATH_BIN)tar
-
-# FHS-2.2 would put these in /usr/bin .
-
-BZIP2   := $(PATH_USR_BIN)bzip2
-DIFF    := $(PATH_USR_BIN)diff
-GREP    := $(PATH_USR_BIN)grep
-MD5SUM  := $(PATH_USR_BIN)md5sum
-PATCH   := $(PATH_USR_BIN)patch
-SORT    := $(PATH_USR_BIN)sort
-TOUCH   := $(PATH_USR_BIN)touch
-TR      := $(PATH_USR_BIN)tr
-WC      := $(PATH_USR_BIN)wc
-WGET    := $(PATH_USR_BIN)wget
-
-# FHS-2.2 would put MSYS's own 'sed' in /bin/, but this points to a
-# later version as described above.
-
-SED     := $(PATH_USR_LOCAL_BIN)sed
-
-# FHS-2.2 doesn't prescribe a unique location for optional libraries,
-# but users would would normally build them in /usr/local/bin/ .
-
-XMLLINT := $(PATH_USR_LOCAL_BIN)xmllint
-
-################################################################################
-
-# Configuration shared by all msw subplatforms.
-
-include $(src_dir)/msw_common.make
-$(src_dir)/msw_common.make:: ;
-

Modified: lmi/trunk/path_utility.cpp
===================================================================
--- lmi/trunk/path_utility.cpp  2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/path_utility.cpp  2016-02-12 21:03:44 UTC (rev 6507)
@@ -62,14 +62,16 @@
 /// although it's unclear whether there's any way to get msw to do
 /// this exactly when end users desire it and not otherwise.
 ///
-/// MSYS !! Call this function during initialization for any program
-/// that could be passed a path argument, even if the argument is a
-/// portable path, because MSYS's bash translates it to a nonportable
-/// one. For example, if this function isn't called, then
+/// Call this function during initialization for any program that
+/// could be passed a path argument, even if the argument is a
+/// portable path. Motivating case: MSYS's bash translated it to a
+/// nonportable path; e.g., if this function wasn't called, then
 ///   --data_path='/opt/lmi/data'
-/// engenders this diagnostic:
+/// engendered this diagnostic:
 ///   boost::filesystem::path: [line split for readability]
 ///     invalid name "C:" in path: "C:/msys/1.0/opt/lmi/data"
+/// Keep doing this for future-proofing even though MSYS is no longer
+/// supported.
 ///
 /// This function is not called in the initialization routine used by
 /// all programs, because simple command-line tools should not be

Modified: lmi/trunk/test_coding_rules.cpp
===================================================================
--- lmi/trunk/test_coding_rules.cpp     2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/test_coding_rules.cpp     2016-02-12 21:03:44 UTC (rev 6507)
@@ -608,7 +608,6 @@
             &&  "INELEGANT "   != z[1]
             &&  "INPUT "       != z[1]
             &&  "MPATROL "     != z[1]
-            &&  "MSYS "        != z[1]
             &&  "PORT "        != z[1]
             &&  "SOA "         != z[1]
             &&  "SOMEDAY "     != z[1]

Modified: lmi/trunk/workhorse.make
===================================================================
--- lmi/trunk/workhorse.make    2016-02-12 20:20:55 UTC (rev 6506)
+++ lmi/trunk/workhorse.make    2016-02-12 21:03:44 UTC (rev 6507)
@@ -272,7 +272,8 @@
 #
 # boost: the build system provided is outlandish.
 #
-# cgicc: './configure && make' fails in the MSYS environment.
+# cgicc: './configure && make' failed in the MSYS environment (though
+# MSYS is no longer supported).
 #
 # xmlwrapp: the autotoolized build system doesn't support Comeau C++
 # (or any other compiler but gcc) on msw.
@@ -1129,9 +1130,6 @@
 .PHONY: run_unit_tests
 run_unit_tests: unit_tests_not_built $(addsuffix -run,$(unit_test_targets))
 
-# MSYS !! The initial ';' in the first $(SED) command works around a
-# problem caused by MSYS.
-
 .PHONY: %$(EXEEXT)-run
 %$(EXEEXT)-run:
        @$(ECHO) -e "\nRunning $*:"
@@ -1202,9 +1200,6 @@
 
 # This lightweight test emulates what a webserver would do.
 
-# MSYS !! The initial ';' in several $(SED) commands works around a
-# problem caused by MSYS.
-
 .PHONY: cgi_tests
 cgi_tests: $(test_data) configurable_settings.xml antediluvian_cgi$(EXEEXT)
        @$(ECHO) Test common gateway interface:
@@ -1301,7 +1296,7 @@
        @for z in $(dot_test_files); \
          do \
            $(bin_dir)/ihs_crc_comp$(EXEEXT) $$z $(touchstone_dir)/$$z \
-           | $(SED) -e ';/Summary.*max rel err/!d' -e "s/^ /$$z/" \
+           | $(SED) -e '/Summary.*max rel err/!d' -e "s/^ /$$z/" \
            >> $(system_test_analysis); \
          done
 
@@ -1316,9 +1311,9 @@
        @$(SORT) --key=2  --output=$(system_test_md5sums) $(system_test_md5sums)
        @$(CP) --preserve --update $(system_test_md5sums) 
$(system_test_md5sums2)
        @-< $(system_test_analysis) $(SED) \
-         -e ';/rel err.*e-0*1[5-9]/d' \
-         -e ';/abs.*0\.00.*rel/d' \
-         -e ';/abs diff: 0 /d'
+         -e '/rel err.*e-0*1[5-9]/d' \
+         -e '/abs.*0\.00.*rel/d' \
+         -e '/abs diff: 0 /d'
        @$(DIFF) --brief $(system_test_md5sums) $(touchstone_md5sums) \
          && $(ECHO) "All `<$(touchstone_md5sums) $(WC) -l` files match." \
          || $(MAKE) --file=$(this_makefile) system_test_discrepancies
@@ -1335,24 +1330,24 @@
          || true
        @-<$(system_test_diffs) \
          $(SED) \
-           -e ';/^Only in/d' \
+           -e '/^Only in/d' \
          | $(WC) -l \
          | $(SED) -e 's/^\(.*\)$$/  \1 system-test files compared/'
        @-<$(system_test_diffs) \
          $(SED) \
-           -e ';/^Files.*are identical$$/!d' \
+           -e '/^Files.*are identical$$/!d' \
          | $(WC) -l \
          | $(SED) -e 's/^\(.*\)$$/  \1 system-test files match/'
        @-<$(system_test_diffs) \
          $(SED) \
-           -e ';/^Files.*are identical$$/d' \
-           -e ';/^Only in/d' \
+           -e '/^Files.*are identical$$/d' \
+           -e '/^Only in/d' \
          | $(WC) -l \
          | $(SED) -e 's/^\(.*\)$$/  \1 system-test files differ/'
        @-<$(system_test_diffs) \
          $(SED) \
-           -e ';/^Only in.*touchstone:/!d' \
-           -e ';/md5sums$$/d' \
+           -e '/^Only in.*touchstone:/!d' \
+           -e '/md5sums$$/d' \
          | $(WC) -l \
          | $(SED) -e 's/^\(.*\)$$/  \1 system-test files missing/'
        @$(ECHO) ...system test completed.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]