| Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date | |
| All threads index page 1 | |
On 6/30/07, Tommy Nordgren <tommy.nordgren@xxxxxxxxx> wrote: > > On 30 jun 2007, at 20.28, Michael Rice wrote: > > > If you look in the qmake source code, you'll see the unix makefile > > generator inserts: > > > > "$(COPY_FILE) --parents" > > > > However, this shouldn't be a problem on a Mac platform. Make sure > > your QMAKESPEC is set to either macx-g++ or macx-xcode. > > > > Michael > This don't work. > macx-xcode generates a xcode project, which lacks a dist target. > macx-g++ generates a makefile that used the parameter --parents in > the cp command in make dist. Seconded. I just compiled fresh versions of 4.2.3 and 4.3.0 on my Mac (10.4.10) today, and the Makefiles they generate contain "cp --parents". Definitely looks like a Qt bug. -- [ signature omitted ]
Hi, > Anyway, qmake only uses this option when generating unix makefile's, so > this shouldn't happen on MacOSX when using the proper mkspecs. I think qmake is considered as Unix in this context. Besides most Unix "cp" commands don't know about "--parents" since this seems to be specific to GNU's "cp". Now this "--parents" option seems to have been present for a very long time in qmake, I'm surprised the problem surfaces only now. How to reproduce the problem? In which context is "cp --parents" called? -- [ signature omitted ]
On 7/1/07, Dimitri <dimitri@xxxxxxxxxxxxx> wrote: > Hi, > > > Anyway, qmake only uses this option when generating unix makefile's, so > > this shouldn't happen on MacOSX when using the proper mkspecs. > > I think qmake is considered as Unix in this context. Besides most Unix "cp" > commands don't know about "--parents" since this seems to be specific to GNU's > "cp". Now this "--parents" option seems to have been present for a very long > time in qmake, I'm surprised the problem surfaces only now. > > How to reproduce the problem? In which context is "cp --parents" called? "cp --parents" is called in the "dist" target of the Makefile. To reproduce: $ uname -a Darwin localhost 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386 $ qmake -version QMake version 2.01a Using Qt version 4.3.0 in /usr/local/Trolltech/Qt-4.3.0/lib $ mkdir test $ cd test $ touch main.cpp $ qmake -project $ qmake $ grep parents Makefile $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/test1.0.0/ && $(COPY_FILE) --parents main.cpp .tmp/test1.0.0/ && (cd `dirname .tmp/test1.0.0` && $(TAR) test1.0.0.tar test1.0.0 && $(COMPRESS) test1.0.0.tar) && $(MOVE) `dirname .tmp/test1.0.0`/test1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/test1.0.0 -- [ signature omitted ]
Hi, > "cp --parents" is called in the "dist" target of the Makefile. OK, so you're running "make dist". It looks like "dist" has been written for or tested on Linux only. I suggest reporting this issue here since I don't know what the "dist" target was designed for: http://trolltech.com/bugreport-form -- [ signature omitted ]
On Sunday 01 July 2007 18:31:22 Dimitri wrote: > > "cp --parents" is called in the "dist" target of the Makefile. > > OK, so you're running "make dist". It looks like "dist" has been written > for or tested on Linux only. I suggest reporting this issue here since I > don't know what the "dist" target was designed for: make dist is supposed to make a tarball, suitable for distribution. I havn't seen one of these for a long time, but maybe they are still common in the MacOS world. Or maybe I just don't see them because I mainly move in the KDE world. Anyone, I believe that the target is automatically available in Automake, but not in e.g. in cmake. Not really my area of expertise though. -- [ signature omitted ]
On 1 jul 2007, at 18.31, Dimitri wrote: > Hi, > >> "cp --parents" is called in the "dist" target of the Makefile. > > OK, so you're running "make dist". It looks like "dist" has been > written for or tested on Linux only. I suggest reporting this issue > here since I don't know what the "dist" target was designed for: > http://trolltech.com/bugreport-form > > -- > Dimitri > The make dist target is a standard target for generating a source code archive for distribution. It is not possible to just remove the --parents option to fix this problem. Two users on the Mac OS X Unix porting list, were able to tell me what the --parents option does. given the command : cp --parents a/long/file/name adirectory The option will copy the file to the path name adirectory/a/long/file/ name Creating any directories that don't appear in the path. I'm including with this message a perl script to do this for unixes whose cp don't have the --parents option
Attachment:
bin.tar.gz
Description: GNU Zip compressed data
The script can be used as follows: DISTFILES += bin/copyfile MyHome = $$system(pwd) QMAKE_COPY_FILE = $$MyHome/bin/copyfile -f ------ What is a woman that you forsake her, and the hearth fire and the home acre, to go with the old grey Widow Maker. --Kipling, harp song of the Dane women Tommy Nordgren tommy.nordgren@xxxxxxxxx
Hi, > The make dist target is a standard target for generating a source > code archive for distribution. It is not possible to just remove > the --parents option to fix this problem. Two users on the Mac OS X Unix > porting list, were able to tell me what the --parents option > does. I don't follow you. If "--parents" is not available on some platform it *will* be removed, won't it? -- [ signature omitted ]