Ignore:
Timestamp:
Sep 15, 2006, 7:09:38 AM (19 years ago)
Author:
bird
Message:

Untested merge with GNU Make v3.81 (vendor/gnumake/2005-05-16 -> vendor/gnumake/current).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/readme.vms

    r281 r503  
    5050with a simple change in makefile.vms.
    5151
     52Some notes on case sensitive names in rules and on the disk. In the VMS
     53template for CONFIG.H case sensitive rules can be enabled with defining
     54WANT_CASE_SENSITIVE_TARGETS. For recent version of VMS there is a case
     55sensitive file system: ODS5. To make use of that, additionally un-defining
     56the HAVE_CASE_INSENSITIVE_FS is required. As these are C macros, different
     57versions of make need to be built to have any case sensitivity for VMS
     58working. Unfortunately, for ODS5 disks that's not all.
     59
     60- Usually DCL upcases command line tokens (except strings) and usually the
     61  file system is case blind (similar to how Windows systems work)
     62        $ set proc/parse=extended/case=sensitive
     63  preserves lower and UPPER on the command line and (for this process and all
     64  sub-processes) enables case sensitivity in the file system
     65
     66- Usually the CRTL tries to reverse what DCL did with command line tokens, it
     67  lowercases all tokens (except strings)
     68        $ define DECC$ARGV_PARSE_STYLE enable
     69  passes (the now preserved) lower and UPPER from the command line to main()
     70
     71- Usually the CRTL upcases the arguments to open() and friends
     72        $ define DECC$EFS_CASE_PRESERVE enable
     73  preserves the names as is.
     74
     75It is important to know that not all VMS tools are ready for case sensitivity.
     76With this setup some tools may not work as expected. The setup should not
     77blindly be applied for all users in default login procedures.
     78
     79Example? The poor coding gives a compiler message, showing that there are
     80different files:
     81
     82$ dir
     83
     84Directory ODS5DISK[HB]
     85
     86A.c;1               B.c;1               c.c;1               X.c;1
     87x.c;1
     88
     89Total of 5 files.
     90$ ods5make x.obj
     91cc    /obj=x.obj x.c
     92
     93foo(){lowercase_x();}
     94......^
     95%CC-I-IMPLICITFUNC, In this statement, the identifier "lowercase_x" is implicitly declared as a function.
     96at line number 1 in file ODS5DISK[HB]x.c;1
     97$ mc SYS$SYSDEVICE:[HARTMUT.MAKE_3_80P]ods5make X.obj
     98cc    /obj=X.obj X.c
     99
     100foo() {UPPERCASE_X();}
     101.......^
     102%CC-I-IMPLICITFUNC, In this statement, the identifier "UPPERCASE_X" is implicitly declared as a function.
     103at line number 1 in file ODS5DISK[HB]X.c;1
     104$ dir
     105
     106Directory ODS5DISK[HB]
     107
     108A.c;1               B.c;1               c.c;1               X.c;1
     109x.c;1               X.obj;1             x.obj;1
     110
     111Total of 7 files.
     112$
     113
    52114
    53115This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com.
     
    235297
    236298Comma (',') as a separator is now allowed. See makefile.vms for an example.
     299
     300-------------------------------------------------------------------------------
     301Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     3022006 Free Software Foundation, Inc.
     303This file is part of GNU Make.
     304
     305GNU Make is free software; you can redistribute it and/or modify it under the
     306terms of the GNU General Public License as published by the Free Software
     307Foundation; either version 2, or (at your option) any later version.
     308
     309GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     310WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     311A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     312
     313You should have received a copy of the GNU General Public License along with
     314GNU Make; see the file COPYING.  If not, write to the Free Software
     315Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note: See TracChangeset for help on using the changeset viewer.