If I use INSTALL_DIR_OS, there is no problem, problems come from
INSTALL_FILES_OS where it seems there are double backslashes and/or mixed
slashes: see the output

(E:\REPOSITORY\HARBOUR)make install
! MAKE: make 3.81 install  D:\OS2\CMD.EXE
! HB_BIN_INSTALL: e:\harbour\bin
! HB_LIB_INSTALL: e:\harbour\lib
! HB_INC_INSTALL: e:\harbour\include
! HB_HOST_ARCH: os2 (x86)  HB_SHELL: os2
! HB_ARCHITECTURE: os2 (x86)
! HB_COMPILER: gcc
! HB_INSTALL_PREFIX automatically set to: E:\repository\harbour
make[2]: Nothing to be done for `install'.
make[3]: `../../../../../lib/os2/gcc/hbcommon.a' is up to date.
os2-cp: cannot create regular file `e:\\harbour\\lib/..\\..\\lib\ \os2\\gcc\\hbco
mmon.a': No such file or directory
make[2]: [install] Error 1 (ignored)
make[3]: `../../../../../lib/os2/gcc/hbnortl.a' is up to date.
os2-cp: cannot create regular file `e:\\harbour\\lib/..\\..\\lib\ \os2\\gcc\\hbno
rtl.a': No such file or directory
make[2]: [install] Error 1 (ignored)
make[3]: `../../../../../lib/os2/gcc/hbpp.a' is up to date.
os2-cp: cannot create regular file `e:\\harbour\\bin/..\\..\\bin\ \os2\\gcc\\hbpp
.exe': No such file or directory
make[2]: [install] Error 1 (ignored)
os2-cp: cannot create regular file `e:\\harbour\\lib/..\\..\\lib\ \os2\\gcc\\hbpp
.a': No such file or directory
make[2]: [install] Error 1 (ignored)


as if the subst command of make is making something wrong.

The double backslashes appear in os2-cp *output*, but I bet in
any number of beers that it's single backslash on the cmdline
input. Very easy to verify if you delete '@' prefix from $(CP)
line. If this is so, the double backslashes are probably the
result of os2-cp converting the input to its internal escaped
format, where single \ becomes \\. Actually this is an easy bet
as I've just found cp command echos from one of your attempts
today:

CMD: cp ..\..\lib\os2\gcc\hbcommon.a e:\harbour\lib
OUT: cp: cannot create regular file `e:\\harbour\\lib/..\\..\\lib\\os2\ \gcc\\hbcommon

What seems to happen here is that os2-cp appends a forward
slash to target path, then considers the whole source path
as the filename part since it doesn't interpret backslashes
as dirseps, then it appends this "filename" to the target
dir. And we have the error.

So we can conclude os2-cp requires forward slashes.

Now what's left to understand is why these OS/2 GNU tools
have such inconsistent dirsep requirements.

Just as a note, I don't care which way are the used slashes :)

Don't get me wrong, me neither, I'd just like to know what we're
doing, to avoid future mistakes.

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to