gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libobjc2/objc_msgSend.S cross-compilation problems


From: David Chisnall
Subject: Re: libobjc2/objc_msgSend.S cross-compilation problems
Date: Mon, 13 Oct 2014 10:04:33 +0100

Hi Barnaby,

The assembly fast path (objc_msgSend()) does not use the Windows calling 
conventions and so none of the assembly in libobjc2 is expected to build there. 
 

David

On 13 Oct 2014, at 10:00, Barnaby Jones <address@hidden> wrote:

> I'm trying to cross-compile libobjc2  revision (38113/head) from a linux 
> 64bit host to a mingw64 / win32 (i686-w64-mingw32) target system.
> 
> The compilation freezes at following position:
> 
> [ 30%] Building ASM object CMakeFiles/objc.dir/objc_msgSend.S.obj
> /usr/local/bin/i686-w64-mingw32-clang  -DGC_DEBUG -DGNUSTEP -DNO_LEGACY 
> -DTYPE_DEPENDENT_DISPATCH -D_BSD_SOURCE=1 -D_XOPEN_SOURCE=700 
> -D__BSD_VISIBLE=1 -D__OBJC_RUNTIME_INTERNAL__=1 -Dobjc_EXPORTS -O2 -g 
> -DNDEBUG -fPIC   -o CMakeFiles/objc.dir/objc_msgSend.S.obj -c 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S
> 
> or verbose:
> 
> clang version 3.6.0 (219586)
> Target: i686-w64-windows-gnu
> Thread model: posix
> "/usr/local/bin/clang-3.6" -cc1 -triple i686-w64-windows-gnu -E -disable-free 
> -disable-llvm-verifier -main-file-name objc_msgSend.S -mrelocation-model pic 
> -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno 
> -masm-verbose -mconstructor-aliases -target-cpu pentium4 -v -g 
> -dwarf-column-info -coverage-file 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build/CMakeFiles/objc.dir/objc_msgSend.S.obj
>  -nostdsysteminc -nobuiltininc -resource-dir 
> /usr/local/bin/../lib/clang/3.6.0 -isystem 
> /usr/local/bin/../lib/clang/3.6.0/include -isystem 
> /usr/i686-w64-mingw32/include -isystem 
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2 -isystem 
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2/i686-w64-mingw32 
> -D _STDIO_S_DEFINED -D GC_DEBUG -D GNUSTEP -D NO_LEGACY -D 
> TYPE_DEPENDENT_DISPATCH -D _BSD_SOURCE=1 -D _XOPEN_SOURCE=700 -D 
> __BSD_VISIBLE=1 -D __OBJC_RUNTIME_INTERNAL__=1 -D objc_EXPORTS -D NDEBUG -O2 
> -fdebug-compilation-dir 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build 
> -ferror-limit 19 -fmessage-length 228 -mstackrealign -fno-use-cxa-atexit 
> -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp 
> -o /tmp/objc_msgSend-d035ac.s -x assembler-with-cpp 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S
> clang -cc1 version 3.6.0 based upon LLVM 3.6.0svn default target 
> x86_64-unknown-linux-gnu
> #include "..." search starts here:
> #include <...> search starts here:
> /usr/local/bin/../lib/clang/3.6.0/include
> /usr/i686-w64-mingw32/include
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2/i686-w64-mingw32
> End of search list.
> "/usr/local/bin/clang-3.6" -cc1as -triple i686-w64-windows-gnu -filetype obj 
> -main-file-name objc_msgSend.S -target-cpu pentium4 -g 
> -fdebug-compilation-dir 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build 
> -dwarf-debug-producer clang version 3.6.0 (219586) -o 
> CMakeFiles/objc.dir/objc_msgSend.S.obj /tmp/objc_msgSend-d035ac.s
> 
> I also tried to use clang 3.5 with the same result.
> 
> 
> GCC (4.8.2) gives this result:
> 
> i686-w64-mingw32-gcc  -DGC_DEBUG -DGNUSTEP -DNO_LEGACY 
> -DTYPE_DEPENDENT_DISPATCH -D_BSD_SOURCE=1 -D_XOPEN_SOURCE=700 
> -D__BSD_VISIBLE=1 -D__OBJC_RUNTIME_INTERNAL__=1 -Dobjc_EXPORTS -O2 -g 
> -DNDEBUG -o CMakeFiles/objc.dir/objc_msgSend.S.obj -c 
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S 
> -v
> Using built-in specs.
> COLLECT_GCC=i686-w64-mingw32-gcc
> Target: i686-w64-mingw32
> Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr 
> --includedir='/usr/include' --mandir='/usr/share/man' 
> --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var 
> --libexecdir='/usr/lib/gcc-mingw-w64' --disable-maintainer-mode 
> --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static 
> --disable-multilib --with-system-zlib --libexecdir=/usr/lib 
> --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes 
> --with-tune=generic --enable-version-specific-runtime-libs 
> --enable-threads=posix --enable-fully-dynamic-string --enable-sjlj-exceptions 
> --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++ --enable-lto 
> --with-plugin-ld --target=i686-w64-mingw32 
> --with-gxx-include-dir=/usr/include/c++/4.8 
> --with-as=/usr/bin/i686-w64-mingw32-as --with-ld=/usr/bin/i686-w64-mingw32-ld
> Thread model: posix
> gcc version 4.8.2 (GCC)
> COLLECT_GCC_OPTIONS='-D' 'GC_DEBUG' '-D' 'GNUSTEP' '-D' 'NO_LEGACY' '-D' 
> 'TYPE_DEPENDENT_DISPATCH' '-D' '_BSD_SOURCE=1' '-D' '_XOPEN_SOURCE=700' '-D' 
> '__BSD_VISIBLE=1' '-D' '__OBJC_RUNTIME_INTERNAL__=1' '-D' 'objc_EXPORTS' 
> '-O2' '-g' '-D' 'NDEBUG' '-o' 'CMakeFiles/objc.dir/objc_msgSend.S.obj' '-c' 
> '-v' '-mtune=generic' '-march=pentiumpro'
> /usr/lib/gcc/i686-w64-mingw32/4.8/cc1 -E -lang-asm -quiet -v -D_REENTRANT -D 
> GC_DEBUG -D GNUSTEP -D NO_LEGACY -D TYPE_DEPENDENT_DISPATCH -D _BSD_SOURCE=1 
> -D _XOPEN_SOURCE=700 -D __BSD_VISIBLE=1 -D __OBJC_RUNTIME_INTERNAL__=1 -D 
> objc_EXPORTS -D NDEBUG 
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S 
> -mtune=generic -march=pentiumpro -g -fworking-directory -O2 
> -fno-directives-only -o /tmp/ccOBD4ND.s
> ignoring nonexistent directory 
> "/usr/lib/gcc/i686-w64-mingw32/4.8/../../../../i686-w64-mingw32/sys-include"
> #include "..." search starts here:
> #include <...> search starts here:
> /usr/lib/gcc/i686-w64-mingw32/4.8/include
> /usr/lib/gcc/i686-w64-mingw32/4.8/include-fixed
> /usr/lib/gcc/i686-w64-mingw32/4.8/../../../../i686-w64-mingw32/include
> End of search list.
> COLLECT_GCC_OPTIONS='-D' 'GC_DEBUG' '-D' 'GNUSTEP' '-D' 'NO_LEGACY' '-D' 
> 'TYPE_DEPENDENT_DISPATCH' '-D' '_BSD_SOURCE=1' '-D' '_XOPEN_SOURCE=700' '-D' 
> '__BSD_VISIBLE=1' '-D' '__OBJC_RUNTIME_INTERNAL__=1' '-D' 'objc_EXPORTS' 
> '-O2' '-g' '-D' 'NDEBUG' '-o' 'CMakeFiles/objc.dir/objc_msgSend.S.obj' '-c' 
> '-v' '-mtune=generic' '-march=pentiumpro'
> /usr/bin/i686-w64-mingw32-as --gdwarf2 -v -o 
> CMakeFiles/objc.dir/objc_msgSend.S.obj /tmp/ccOBD4ND.s
> GNU assembler version 2.23.52 (i686-w64-mingw32) using BFD version (GNU 
> Binutils) 2.23.52.20130620
> /usr/bin/i686-w64-mingw32-as: BFD (GNU Binutils) 2.23.52.20130620 assertion 
> fail ../../../upstream/bfd/coff-i386.c:568
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.x86-32.S:
>  Assembler messages:
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.x86-32.S:93:
>  Error: cannot represent relocation type BFD_RELOC_386_GOTPC
> /usr/bin/i686-w64-mingw32-as: BFD (GNU Binutils) 2.23.52.20130620 assertion 
> fail ../../../upstream/bfd/coff-i386.c:568
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.x86-32.S:97:
>  Error: cannot represent relocation type BFD_RELOC_386_GOTPC
> /usr/bin/i686-w64-mingw32-as: BFD (GNU Binutils) 2.23.52.20130620 assertion 
> fail ../../../upstream/bfd/coff-i386.c:568
> /home/barnaby/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.x86-32.S:101:
>  Error: cannot represent relocation type BFD_RELOC_386_GOTPC
> 
> 
> The output from the front-end looks like this:
> 
> clang -cc1 -triple i686-w64-windows-gnu -E -disable-free 
> -disable-llvm-verifier -main-file-name objc_msgSend.S -mrelocation-model pic 
> -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno 
> -masm-verbose -mconstructor-aliases -target-cpu pentium4 -v -g 
> -dwarf-column-info -coverage-file 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build/CMakeFiles/objc.dir/objc_msgSend.S.obj
>  -nostdsysteminc -nobuiltininc -resource-dir 
> /usr/local/bin/../lib/clang/3.6.0 -isystem 
> /usr/local/bin/../lib/clang/3.6.0/include -isystem 
> /usr/i686-w64-mingw32/include -isystem 
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2 -isystem 
> /usr/i686-w64-mingw32/include/../../../usr/include/c++/4.8.2/i686-w64-mingw32 
> -D _STDIO_S_DEFINED -D GC_DEBUG -D GNUSTEP -D NO_LEGACY -D 
> TYPE_DEPENDENT_DISPATCH -D _BSD_SOURCE=1 -D _XOPEN_SOURCE=700 -D 
> __BSD_VISIBLE=1 -D __OBJC_RUNTIME_INTERNAL__=1 -D objc_EXPORTS -D NDEBUG -O2 
> -fdebug-compilation-dir 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build 
> -ferror-limit 19 -fmessage-length 228 -mstackrealign -fno-use-cxa-atexit 
> -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp 
> -o objc_msgSend-tmp.s -x assembler-with-cpp 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S
> 
> // objc_msgSend.S start
> 
> # 1 
> "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S"
> # 1 "<built-in>" 1
> # 1 
> "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S" 
> 2
> # 1 "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/common.S" 1
> # 2 
> "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S" 
> 2
> 
> 
> 
> # 1 
> "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.x86-32.S"
>  1
> 
> 
> 
> 
> 
> .macro MSGSEND receiver, sel, fpret
> .cfi_startproc
> movl \receiver(%esp), %eax
> test %eax, %eax # If the receiver is nil
> jz 4f # return nil
> test $1, %eax # Check if the receiver is a small object
> jnz 6f # Get the small object class
> 
> mov (%eax), %eax # Load the class
> 1: # classLoaded
> movl \sel(%esp), %ecx
> mov 32(%eax), %eax # Load the dtable from the class
> 
> mov (%ecx), %ecx # Load the selector index
> 
>                                       # Register use at this point:
> 
>                                       # %eax: dtable
> 
>                                       # %ecx: Selector index
> 
>                                       # %edx: selector index fragment
> 
> 
> mov 4(%eax), %edx # Load the shift (dtable size)
> mov 12(%eax), %eax # load the address of the start of the array
> cmpl $8, %edx # If this is a small dtable, jump to the small dtable handlers
> je 2f
> cmpl $0, %edx
> je 3f
> 
> mov %ecx, %edx
> and $0xff0000, %edx
> shrl $14, %edx # Right shift 16, but then left shift by 2 (* sizeof(void*))
> add %edx, %eax
> mov (%eax), %eax
> mov 12(%eax), %eax
> 2: # dtable16:
> mov %ecx, %edx
> and $0xff00, %edx
> shrl $6, %edx
> add %edx, %eax
> mov (%eax), %eax
> mov 12(%eax), %eax
> 3: # dtable8:
> and $0xff, %ecx
> shll $2, %ecx
> add %ecx, %eax
> mov (%eax), %eax
> 
> test %eax, %eax
> jz 5f # Nil slot - invoke some kind of forwarding mechanism
> mov 16(%eax), %eax
> jmp *%eax
> 4: # returnNil:
> .if \fpret
> fldz
> .else
> xor %eax, %eax # return 0 (int)
> xor %edx, %edx # Return 64-bit zero (%edx is
>                                      # caller-save, so it's safe to do this 
> in the general case.
> 
> .endif
> ret
> 5: # slowSend:
> mov \sel(%esp), %ecx
> lea \receiver(%esp), %eax
> 
> push %ecx # _cmd
> push %eax # &self
> .cfi_def_cfa_offset 12
> call address@hidden
> add $8, %esp # restore the stack
> 
> 
> jmp *%eax
> 6: # smallObject:
> push %ebx # Save old %ebx
> calll 7f
> 7:
> popl %ebx;
> 8:
> addl $_GLOBAL_OFFSET_TABLE_+(8b-7b), %ebx
> leal address@hidden(%ebx), %eax
> mov (%eax), %eax
> popl %ebx
> jmp 1b
> .cfi_endproc
> .endm
> .globl _objc_msgSend_fpret
> 
> _objc_msgSend_fpret:
> MSGSEND 4, 8, 1
> .globl _objc_msgSend
> 
> _objc_msgSend:
> MSGSEND 4, 8, 0
> .globl _objc_msgSend_stret
> 
> _objc_msgSend_stret:
> MSGSEND 8, 12, 0
> # 6 
> "/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/objc_msgSend.S" 
> 2
> 
> // objc_msgSend.S end
> 
> 
> CMake is configured with
> 
> # This is the CMakeCache file.
> # For build in directory: 
> /home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build
> # It was generated by CMake: /usr/bin/cmake
> # You can edit this file to change values found and used by cmake.
> # If you do not want to change any of the values, simply exit the editor.
> # If you do want to change a value, simply edit, save, and exit the editor.
> # The syntax for the file is as follows:
> # KEY:TYPE=VALUE
> # KEY is the name of a variable in the cache.
> # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
> # VALUE is the current value for the KEY.
> 
> ########################
> # EXTERNAL cache entries
> ########################
> 
> //Enable garbage collection support (not recommended)
> BOEHM_GC:BOOL=OFF
> 
> //Build the static version of libobjc
> BUILD_STATIC_LIBOBJC:BOOL=OFF
> 
> //Path to a program.
> CMAKE_AR:FILEPATH=/usr/bin/ar
> 
> //ASM compiler.
> CMAKE_ASM_COMPILER:FILEPATH=/usr/local/bin/i686-w64-mingw32-clang
> 
> //Flags used by the assembler during all build types.
> CMAKE_ASM_FLAGS:STRING=
> 
> //Flags used by the assembler during debug builds.
> CMAKE_ASM_FLAGS_DEBUG:STRING=-g
> 
> //Flags used by the assembler during release minsize builds.
> CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
> 
> //Flags used by the assembler during release builds.
> CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
> 
> //Flags used by the assembler during Release with Debug Info builds.
> CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
> 
> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
> CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
> 
> //Enable/Disable color output during build.
> CMAKE_COLOR_MAKEFILE:BOOL=ON
> 
> //CXX compiler.
> CMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/i686-w64-mingw32-clang++
> 
> //Path to a program.
> CMAKE_CXX_COMPILER_WITH_PATH:FILEPATH=/usr/local/bin/i686-w64-mingw32-clang++
> 
> //Flags used by the compiler during all build types.
> CMAKE_CXX_FLAGS:STRING=
> 
> //Flags used by the compiler during debug builds.
> CMAKE_CXX_FLAGS_DEBUG:STRING=-g
> 
> //Flags used by the compiler during release minsize builds.
> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
> 
> //Flags used by the compiler during release builds (/MD /Ob1 /Oi
> // /Ot /Oy /Gs will produce slightly less optimized but smaller
> // files).
> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
> 
> //Flags used by the compiler during Release with Debug Info builds.
> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
> 
> //C compiler.
> CMAKE_C_COMPILER:FILEPATH=/usr/local/bin/i686-w64-mingw32-clang
> 
> //Path to a program.
> CMAKE_C_COMPILER_WITH_PATH:FILEPATH=/usr/local/bin/i686-w64-mingw32-clang
> 
> //Flags used by the compiler during all build types.
> CMAKE_C_FLAGS:STRING=
> 
> //Flags used by the compiler during debug builds.
> CMAKE_C_FLAGS_DEBUG:STRING=-g
> 
> //Flags used by the compiler during release minsize builds.
> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
> 
> //Flags used by the compiler during release builds (/MD /Ob1 /Oi
> // /Ot /Oy /Gs will produce slightly less optimized but smaller
> // files).
> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
> 
> //Flags used by the compiler during Release with Debug Info builds.
> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
> 
> //Flags used by the linker.
> CMAKE_EXE_LINKER_FLAGS:STRING=' '
> 
> //Flags used by the linker during debug builds.
> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
> 
> //Flags used by the linker during release minsize builds.
> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
> 
> //Flags used by the linker during release builds.
> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
> 
> //Flags used by the linker during Release with Debug Info builds.
> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
> 
> //Enable/Disable output of compile commands during generation.
> CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
> 
> //Install path prefix, prepended onto install directories.
> CMAKE_INSTALL_PREFIX:PATH=/usr/local
> 
> //Path to a program.
> CMAKE_LINKER:FILEPATH=/usr/bin/ld
> 
> //Path to a program.
> CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
> 
> //Flags used by the linker during the creation of modules.
> CMAKE_MODULE_LINKER_FLAGS:STRING=' '
> 
> //Flags used by the linker during debug builds.
> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
> 
> //Flags used by the linker during release minsize builds.
> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
> 
> //Flags used by the linker during release builds.
> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
> 
> //Flags used by the linker during Release with Debug Info builds.
> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
> 
> //Path to a program.
> CMAKE_NM:FILEPATH=/usr/bin/nm
> 
> //Path to a program.
> CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
> 
> //Path to a program.
> CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
> 
> //Value Computed by CMake
> CMAKE_PROJECT_NAME:STATIC=libobjc
> 
> //Path to a program.
> CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
> 
> //Flags used by the linker during the creation of dll's.
> CMAKE_SHARED_LINKER_FLAGS:STRING=' '
> 
> //Flags used by the linker during debug builds.
> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
> 
> //Flags used by the linker during release minsize builds.
> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
> 
> //Flags used by the linker during release builds.
> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
> 
> //Flags used by the linker during Release with Debug Info builds.
> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
> 
> //If set, runtime paths are not added when installing shared libraries,
> // but are added when building.
> CMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
> 
> //If set, runtime paths are not added when using shared libraries.
> CMAKE_SKIP_RPATH:BOOL=OFF
> 
> //Flags used by the linker during the creation of static libraries.
> CMAKE_STATIC_LINKER_FLAGS:STRING=
> 
> //Flags used by the linker during debug builds.
> CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
> 
> //Flags used by the linker during release minsize builds.
> CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
> 
> //Flags used by the linker during release builds.
> CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
> 
> //Flags used by the linker during Release with Debug Info builds.
> CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
> 
> //Path to a program.
> CMAKE_STRIP:FILEPATH=/usr/bin/strip
> 
> //The CMake toolchain file
> CMAKE_TOOLCHAIN_FILE:FILEPATH=/home/yousry/Documents/toolchain-ubuntu-mingw64.cmake
> 
> //If true, cmake will use relative paths in makefiles and projects.
> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
> 
> //If this value is on, makefiles will be generated without the
> // .SILENT directive, and all commands will be echoed to the console
> // during the make.  This is useful for debugging only. With Visual
> // Studio IDE projects all commands are done without /nologo.
> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF
> 
> //Installer types to generate.  Sensible options include TGZ, RPM
> // and DEB
> CPACK_GENERATOR:STRING=TGZ
> 
> //Enable to build ZIP source packages
> CPACK_SOURCE_ZIP:BOOL=ON
> 
> //Path to a library.
> CXX_RUNTIME:FILEPATH=CXX_RUNTIME-NOTFOUND
> 
> //Enable support for Objective-C++
> ENABLE_OBJCXX:BOOL=ON
> 
> //Enable tracing support (slower, not recommended for deployment)
> ENABLE_TRACING:BOOL=OFF
> 
> //Force building a separate Objective-C++ runtime library
> FORCE_LIBOBJCXX:BOOL=OFF
> 
> //Path to a program.
> GNUSTEP_CONFIG:FILEPATH=/usr/i686-w64-mingw32/opt/System/Tools/gnustep-config
> 
> //GNUstep installation type.  Options are NONE, SYSTEM, NETWORK
> // or LOCAL.
> GNUSTEP_INSTALL_TYPE:STRING=LOCAL
> 
> //Subdirectory of the include path to install the headers.
> INCLUDE_DIRECTORY:STRING=objc
> 
> //Enable legacy compatibility features
> LEGACY_COMPAT:BOOL=OFF
> 
> //Path to a library.
> LIBDISPATCH:FILEPATH=/usr/i686-w64-mingw32/lib/dispatch.lib
> 
> //Name of the Objective-C runtime library (e.g. objc2 for libobjc2)
> LIBOBJC_NAME:STRING=objc
> 
> //The directory containing a CMake configuration file for LLVM.
> LLVM_DIR:PATH=/usr/local/share/llvm/cmake
> 
> //Build LLVM Objective-C optimisations
> LLVM_OPTS:BOOL=ON
> 
> //Enable low-memory profile *HIGHLY EXPERIMENTAL*
> LOW_MEMORY:BOOL=OFF
> 
> //Enable building the tests
> TESTS:BOOL=ON
> 
> //Enable type-dependent dispatch
> TYPE_DEPENDENT_DISPATCH:BOOL=ON
> 
> //Value Computed by CMake
> libobjc_BINARY_DIR:STATIC=/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build
> 
> //Value Computed by CMake
> libobjc_SOURCE_DIR:STATIC=/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2
> 
> //Dependencies for the target
> objc_LIB_DEPENDS:STATIC=general;/usr/i686-w64-mingw32/lib/dispatch.lib;
> 
> //Dependencies for target
> objcxx_LIB_DEPENDS:STATIC=
> 
> 
> ########################
> # INTERNAL cache entries
> ########################
> 
> //ADVANCED property for variable: CMAKE_AR
> CMAKE_AR-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_COMPILER
> CMAKE_ASM_COMPILER-ADVANCED:INTERNAL=1
> CMAKE_ASM_COMPILER_WORKS:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_FLAGS
> CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG
> CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL
> CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE
> CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
> CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_BUILD_TOOL
> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1
> //What is the target build tool cmake is generating for.
> CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make
> //This is the directory where this CMakeCache.txt was created
> CMAKE_CACHEFILE_DIR:INTERNAL=/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2/build
> //Major version of cmake used to create the current loaded cache
> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
> //Minor version of cmake used to create the current loaded cache
> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
> //Patch version of cmake used to create the current loaded cache
> CMAKE_CACHE_PATCH_VERSION:INTERNAL=12
> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
> //Path to CMake executable.
> CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
> //Path to cpack program executable.
> CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
> //Path to ctest program executable.
> CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
> //ADVANCED property for variable: CMAKE_CXX_COMPILER
> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_COMPILER_WITH_PATH
> CMAKE_CXX_COMPILER_WITH_PATH-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_FLAGS
> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_COMPILER
> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_COMPILER_WITH_PATH
> CMAKE_C_COMPILER_WITH_PATH-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_FLAGS
> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //Path to cache edit program executable.
> CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/cmake-gui
> //Executable file format
> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
> CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
> //Name of generator.
> CMAKE_GENERATOR:INTERNAL=Unix Makefiles
> //Name of generator toolset.
> CMAKE_GENERATOR_TOOLSET:INTERNAL=
> //Have symbol pthread_create
> CMAKE_HAVE_LIBC_CREATE:INTERNAL=1
> //Have include pthread.h
> CMAKE_HAVE_PTHREAD_H:INTERNAL=1
> //Start directory with the top level CMakeLists.txt file for this
> // project
> CMAKE_HOME_DIRECTORY:INTERNAL=/home/yousry/Documents/sourceProjects/win32/gnuStep/libobjc2
> //ADVANCED property for variable: CMAKE_LINKER
> CMAKE_LINKER-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM
> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_NM
> CMAKE_NM-ADVANCED:INTERNAL=1
> //number of local generators
> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=3
> //ADVANCED property for variable: CMAKE_OBJCOPY
> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_OBJDUMP
> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_RANLIB
> CMAKE_RANLIB-ADVANCED:INTERNAL=1
> //Path to CMake installation.
> CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8
> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
> CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_SKIP_RPATH
> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
> CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
> CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
> CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
> CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
> CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_STRIP
> CMAKE_STRIP-ADVANCED:INTERNAL=1
> //Suppress Warnings that are meant for the author of the CMakeLists.txt
> // files.
> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE
> //uname command
> CMAKE_UNAME:INTERNAL=/bin/uname
> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS
> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
> //ADVANCED property for variable: CPACK_SOURCE_ZIP
> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
> //Details about finding Threads
> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
> 
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev




-- Sent from my Apple II




reply via email to

[Prev in Thread] Current Thread [Next in Thread]