| 1 | # |
| 2 | # The lines starting with #b that follow are the uwin.sh |
| 3 | # file from Joe Buehler. Some lines are, themselves, |
| 4 | # commented out. If an uncommented line disappears |
| 5 | # altogether, it means it didn't seem to be needed any more, |
| 6 | # to get a proper build on the following machine. |
| 7 | # UWIN-NT korn-7200 3.19-5.0 2195 i686 |
| 8 | # But maybe they'll be useful to others on different machines. |
| 9 | |
| 10 | #b # hint file for U/WIN (UNIX for Windows 95/NT) |
| 11 | #b # |
| 12 | #b # created for U/WIN version 1.55 |
| 13 | #b # running under Windows NT 4.0 SP 3 |
| 14 | #b # using MSVC++ 5.0 for the compiler |
| 15 | #b # |
| 16 | #b # created by Joe Buehler (jbuehler@hekimian.com) |
| 17 | #b # |
| 18 | #b # for information about U/WIN see www.gtlinc.com |
| 19 | #b # |
| 20 | #b |
| 21 | #b #ccflags=-D_BSDCOMPAT |
| 22 | #b # confusion in Configure over preprocessor |
| 23 | #b cppstdin=`pwd`/cppstdin |
| 24 | #b cpprun=`pwd`/cppstdin |
| 25 | #b # pwd.h confuses Configure |
| 26 | #b d_pwcomment=undef |
| 27 | #b d_pwgecos=define |
| 28 | #b # work around case-insensitive file names |
| 29 | #b firstmakefile=GNUmakefile |
| 30 | #b # avoid compilation error |
| 31 | #b i_utime=undef |
| 32 | #b # compile/link flags |
| 33 | #b ldflags=-g |
| 34 | #b optimize=-g |
| 35 | #b static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter::Util::Call IO IPC/SysV MIME::Base64 Opcode PerlIO::scalar POSIX SDBM_File Socket Storable Unicode::Collate Unicode::Normalize attributes re" |
| 36 | #b #static_ext=none |
| 37 | #b # dynamic loading needs work |
| 38 | #b usedl=undef |
| 39 | #b # perl malloc will not work |
| 40 | #b usemymalloc=n |
| 41 | #b # cannot use nm |
| 42 | #b usenm=undef |
| 43 | #b # vfork() is buggy (as of 1.55 anyway) |
| 44 | #b usevfork=false |
| 45 | |
| 46 | # __UWIN__ added so it could be used in ext/POSIX/POSIX.xs |
| 47 | # to protect against either tzname definition. According to Dave Korn |
| 48 | |
| 49 | #dgk gcc on uwin also predefined _UWIN as does the digital mars compiler. |
| 50 | #dgk |
| 51 | #dgk Only ncc does not define _UWIN and this is intentional. ncc is used |
| 52 | #dgk to build binaries that do not require the uwin runtime. |
| 53 | #dgk This could be used for building a native win32 perl using unix |
| 54 | #dgk makefiles. However, in this case you don't wan't _UWIN defined. |
| 55 | #dgk |
| 56 | #dgk I have used _UWIN everywhere else in any uwin specific changes. |
| 57 | #dgk and _WIN32 on windows specific changes, and _MSVC on any compiler |
| 58 | #dgk Visual C specific changes. We also define _WINIX for any unix |
| 59 | #dgk on windows implementation so that _UWIN or __cygwin__ imply _WINIX. |
| 60 | |
| 61 | # I left __UWIN__ as is, since I had already filed a patch, |
| 62 | # and it might be useful to distinguish perl-specific tweaks |
| 63 | # from generic uwin ones. |
| 64 | |
| 65 | ccflags="$ccflags -D__UWIN__" |
| 66 | |
| 67 | # This from Dave Korn |
| 68 | #dgk Windows splits shared libraries into two parts; the part used |
| 69 | #dgk for linking and the part that is used for running. |
| 70 | #dgk Given a library foo, then the part you link with is named |
| 71 | #dgk foo.lib |
| 72 | #dgk and is in the lib directory. The part that you run with |
| 73 | #dgk is named |
| 74 | #dgk foo.dll or foo#.dll |
| 75 | #dgk and is in the bin directory. This way when you set you PATH |
| 76 | #dgk variable, it automatically does the library search. |
| 77 | #dgk |
| 78 | #dgk Static libraries use libfoo.a. |
| 79 | #dgk By the way if you specify -lfoo, then it will first look for foo.lib |
| 80 | #dgk and then libfoo.a. If you specify +lfoo, it will only look for |
| 81 | #dgk static versions of the library. |
| 82 | |
| 83 | # So we use .lib as the extension, and put -lm in, because it is a .a |
| 84 | # This probably accounts for the comment about dynamic libraries |
| 85 | # needing work, and indeed, the build failed if I didn't undef it. |
| 86 | |
| 87 | lib_ext=".lib" |
| 88 | libs="-lm" |
| 89 | so=dll |
| 90 | # dynamic loading still needs work |
| 91 | usedl=undef |
| 92 | |
| 93 | # confusion in Configure over preprocessor |
| 94 | cppstdin=`pwd`/cppstdin |
| 95 | cpprun=`pwd`/cppstdin |
| 96 | |
| 97 | # lest it default to .exe, and then there's no perl in the test directory, |
| 98 | # t, just a perl.exe, and make test promptly dies. _exe gets set to .exe |
| 99 | # by Configure (on 5/23/2003) if exe_ext is merely null, so clean it out, too. |
| 100 | exe_ext='' |
| 101 | _exe='' |
| 102 | |
| 103 | # work around case-insensitive file names |
| 104 | firstmakefile=GNUmakefile |
| 105 | # compile/link flags |
| 106 | ldflags=-g |
| 107 | optimize=-g |
| 108 | |
| 109 | # Original, with :: separators, cause make to choke. |
| 110 | # No longer seems to be necessary at all. |
| 111 | # static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter/Util/Call IO IPC/SysV MIME/Base64 Opcode PerlIO/scalar POSIX SDBM_File Socket Storable Unicode/Collate Unicode/Normalize attributes re" |
| 112 | |
| 113 | # perl malloc will not work |
| 114 | usemymalloc=n |
| 115 | # cannot use nm |
| 116 | usenm=undef |
| 117 | # vfork() is buggy (as of 1.55 anyway) |
| 118 | usevfork=false |
| 119 | |
| 120 | # Some other comments: |
| 121 | # If you see something like |
| 122 | |
| 123 | # got: '/E/users/jpl/src/cmd/perl/t' |
| 124 | # expected: '/e/users/jpl/src/cmd/perl/t' |
| 125 | # Failed test (../dist/Cwd/t/cwd.t at line 88) |
| 126 | |
| 127 | # when running tests under harness, try the simple expedient of |
| 128 | # changing to directory |
| 129 | # /E/users/jpl/src/cmd/perl/t # note the leading capital /E |
| 130 | # before running the tests. UWIN is a bit schizophrenic about case. |
| 131 | # It likes to return an uppercase "disk" letter for the leading directory, |
| 132 | # but your home directory may well have that in lower case. |
| 133 | # In most cases, they are entirely interchangeable, but the perl tests |
| 134 | # don't ignore case. If they fail, change to the directory they expect. |