Hi Bill,

IMO response file handling should NOT disabled for unix host at all.

With this patch, it may be checked on Darwin and perhaps the same is needed for BSD?

claus-kleins-macbook-pro:AgentProBuild clausklein$ make CMakeCache.txt
-- The C compiler identification is GNU 4.7.0
-- The CXX compiler identification is GNU 4.7.0
-- Could not determine Eclipse version, assuming at least 3.6 (Helios). Adjust CMAKE_ECLIPSE_VERSION if this is wrong. -- Checking whether /opt/local/bin/ar tool supports response @file option -- Checking whether /opt/local/bin/ar tool supports response @file option - no
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether /opt/local/bin/ar tool supports response @file option -- Checking whether /opt/local/bin/ar tool supports response @file option - no
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
...

Claus


Attachment: PlatformDarwin-GNU.patch
Description: Binary data



On 04.06.2012, at 23:13, Bill Hoffman wrote:

On 6/4/2012 2:22 PM, Peter Kümmel wrote:
We use ninja's response files:

# Rule for linking CXX static library.
rule CXX_STATIC_LIBRARY_LINKER
command = E:\sandbox\MinGW32\bin\ar.exe cr $out $LINK_FLAGS @ $out.rsp
  description = Linking CXX static library $out
  rspfile = $out.rsp
  rspfile_content = $in

But the problem is, that ar under windows doesn't like paths with one single '\'

and on some UNIXs doesn't support response files at all.
OK, my mistake. The tool has to support response files. So, currently with nmake files we do something like this:

Platform/Windows.cmake:
# for nmake make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
IF(CMAKE_GENERATOR MATCHES "NMake")
 SET(CMAKE_START_TEMP_FILE "@<<\n")
 SET(CMAKE_END_TEMP_FILE "\n<<")
ENDIF(CMAKE_GENERATOR MATCHES "NMake")


Does MinGW32 ar use a different format response file than MS link.exe? Seems like this should go in the Platform file. Maybe we don't use it on UNIX?

-Bill
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to