Browse code

* improve README

Nat! authored on 28-12-2018 19:12:10
Showing 22 changed files
... ...
@@ -17,6 +17,6 @@ export MULLE_MATCH_IGNORE_PATH=
17 17
 #
18 18
 #
19 19
 #
20
-export MULLE_SDE_INSTALLED_VERSION="0.33.1"
20
+export MULLE_SDE_INSTALLED_VERSION="0.34.0"
21 21
 
22 22
 
... ...
@@ -38,9 +38,3 @@ export ADDICTION_DIR="${MULLE_VIRTUAL_ROOT}/addiction"
38 38
 # Use common build directory
39 39
 #
40 40
 export BUILD_DIR="${MULLE_VIRTUAL_ROOT}/build"
41
-
42
-#
43
-# Modify path so that dependency and addictions executables are found and
44
-# preferred.
45
-#
46
-export PATH="${DEPENDENCY_DIR}/bin:${ADDICTION_DIR}/bin:$PATH"
... ...
@@ -1 +1 @@
1
-1.0.1
1
+1.0.15
... ...
@@ -234,7 +234,7 @@ ${indent}      # Disable with: \`mark no-cmakeloader\`
234 234
 ${indent}      #
235 235
 ${indent}      if( NOT NO_INHERIT_OBJC_LOADERS)
236 236
 ${indent}         foreach( _TMP_${identifier}_NAME ${quoted_names})
237
-${indent}            set( _TMP_${identifier}_FILE "\${_TMP_${identifier}_ROOT}/include/\${_TMP_${identifier}_NAME}/objc-loader.inc")
237
+${indent}            set( _TMP_${identifier}_FILE "\${_TMP_${identifier}_ROOT}/include/\${_TMP_${identifier}_NAME}/MulleObjCLoader+\${_TMP_${identifier}_NAME}.h")
238 238
 ${indent}            if( EXISTS "\${_TMP_${identifier}_FILE}")
239 239
 ${indent}               set( INHERITED_OBJC_LOADERS
240 240
 ${indent}                  \${INHERITED_OBJC_LOADERS}
... ...
@@ -1 +1 @@
1
-0.8.12
1
+0.9.7
... ...
@@ -1 +1 @@
1
-0.8.12
1
+0.9.7
... ...
@@ -1 +1 @@
1
-0.8.12
1
+0.9.7
... ...
@@ -1 +1 @@
1
-0.13.0
1
+0.13.7
... ...
@@ -1 +1 @@
1
-0.13.0
1
+0.13.7
... ...
@@ -1 +1 @@
1
-0.13.0
1
+0.13.7
... ...
@@ -1 +1 @@
1
-0.13.0
1
+0.13.7
... ...
@@ -1,5 +1,7 @@
1 1
 # mulle-vararg
2 2
 
3
+⏪ Access variable arguments in struct layout fashion in C
4
+
3 5
 A variable argument passing scheme written in C (C11). It's an alternative
4 6
 to
5 7
 [stdarg](//en.wikipedia.org/wiki/Stdarg.h) or
... ...
@@ -7,9 +9,9 @@ to
7 9
 but not compatible with either.
8 10
 
9 11
 
10
-Fork      |  Build Status | Release Version
11
-[Mulle kybernetiK](//github.com/mulle-nat/mulle-vararg) | [![Build Status](https://travis-ci.org/mulle-nat/mulle-vararg.svg?branch=release)](https://travis-ci.org/mulle-nat/mulle-vararg) | ![Mulle kybernetiK tag](https://img.shields.io/github/tag/mulle-nat/mulle-vararg.svg) [![Build Status](https://travis-ci.org/mulle-nat/mulle-vararg.svg?branch=release)](https://travis-ci.org/mulle-nat/mulle-vararg)
12
+Build Status | Release Version
13
+-------------|-----------------------------------
14
+[![Build Status](https://travis-ci.org/mulle-nat/mulle-vararg.svg?branch=release)](https://travis-ci.org/mulle-nat/mulle-vararg) | ![Mulle kybernetiK tag](https://img.shields.io/github/tag/mulle-nat/mulle-vararg.svg) [![Build Status](https://travis-ci.org/mulle-nat/mulle-vararg.svg?branch=release)](https://travis-ci.org/mulle-nat/mulle-vararg)
12 15
 
13 16
 ## Install
14 17
 
... ...
@@ -1,3 +1,7 @@
1
+### 1.0.9
2
+
3
+* improve README
4
+
1 5
 ### 1.0.8
2 6
 
3 7
 * add missing file
... ...
@@ -10,7 +10,8 @@ if( NOT __ALL_LOAD_C_CMAKE__)
10 10
    # a link
11 11
    #
12 12
    # This is either done by prefixing a library or enclosing
13
-   # link statements
13
+   # link statements. Sometimes it seemed as if Apple needed
14
+   # -lx -force_load x though. ?
14 15
    #
15 16
    if( APPLE)
16 17
       set( FORCE_LOAD_PREFIX "-force_load ")
... ...
@@ -37,16 +37,23 @@ if( LINK_PHASE)
37 37
       ${CMAKE_EDITABLE_FILES}
38 38
    )
39 39
 
40
-   add_dependencies( "${EXECUTABLE_NAME}" "_1_${EXECUTABLE_NAME}")
40
+   add_dependencies( "${EXECUTABLE_NAME}"
41
+      "_1_${EXECUTABLE_NAME}"
42
+      ${EXECUTABLE_DEPENDENCY_NAMES}
43
+   )
41 44
 
42 45
    # useful for mulle-c, but can be commented out
43 46
    set_property( TARGET "${EXECUTABLE_NAME}" PROPERTY CXX_STANDARD 11)
44 47
 
45 48
    #
46 49
    # this will set EXECUTABLE_LIBRARY_LIST if ALL_LOAD is used
50
+   # and EXECUTABLE_LIBRARY_LIST is not set yet
47 51
    #
48 52
    include( ExecutableAux OPTIONAL)
49 53
 
54
+   #
55
+   # fall back if EXECUTABLE_LIBRARY_LIST is not set by ALL_LOAD
56
+   #
50 57
    if( NOT EXECUTABLE_LIBRARY_LIST)
51 58
       if( ALL_LOAD_DEPENDENCY_LIBRARIES)
52 59
          message( FATAL_ERROR "ALL_LOAD_DEPENDENCY_LIBRARIES \"${ALL_LOAD_DEPENDENCY_LIBRARIES}\" are not linked to ${EXECUTABLE_NAME}")
... ...
@@ -8,12 +8,17 @@ include( StartupC)
8 8
 
9 9
 include( ExecutableAuxC OPTIONAL)
10 10
 
11
-CreateForceAllLoadList( ALL_LOAD_DEPENDENCY_LIBRARIES FORCE_ALL_LOAD_DEPENDENCY_LIBRARIES)
11
+if( ALL_LOAD_DEPENDENCY_LIBRARIES)
12
+   CreateForceAllLoadList( ALL_LOAD_DEPENDENCY_LIBRARIES FORCE_ALL_LOAD_DEPENDENCY_LIBRARIES)
12 13
 
13
-set( EXECUTABLE_LIBRARY_LIST
14
-   ${FORCE_ALL_LOAD_DEPENDENCY_LIBRARIES}
15
-   ${DEPENDENCY_LIBRARIES}
16
-   ${OPTIONAL_DEPENDENCY_LIBRARIES}
17
-   ${OS_SPECIFIC_LIBRARIES}
18
-   ${STARTUP_LIBRARY}
19
-)
14
+   if( NOT EXECUTABLE_LIBRARY_LIST)
15
+      set( EXECUTABLE_LIBRARY_LIST
16
+         ${FORCE_ALL_LOAD_DEPENDENCY_LIBRARIES}
17
+         ${DEPENDENCY_LIBRARIES}
18
+         ${OPTIONAL_DEPENDENCY_LIBRARIES}
19
+         ${OS_SPECIFIC_LIBRARIES}
20
+         ${STARTUP_LIBRARY}
21
+      )
22
+   endif()
23
+
24
+endif()
... ...
@@ -6,9 +6,6 @@ endif()
6 6
 
7 7
 
8 8
 if( LINK_PHASE)
9
-
10
-
11
-
12 9
 ### Install
13 10
 
14 11
    include( PreInstallExecutable OPTIONAL)
15 12
deleted file mode 100644
... ...
@@ -1,81 +0,0 @@
1
-# can probably not be included multiple times but not sure
2
-
3
-if( MULLE_TRACE_INCLUDE)
4
-   message( STATUS "# Include \"${CMAKE_CURRENT_LIST_FILE}\"" )
5
-endif()
6
-
7
-if( NOT __LINK_MANIFEST_C_CMAKE__)
8
-   set( __LINK_MANIFEST_C_CMAKE__ ON)
9
-
10
-   option( LINK_MANIFEST "Enable link info output" ON)
11
-endif()
12
-
13
-
14
-#
15
-# Since tests do not know how to link stuff, and we don't really want to
16
-# write a CMakeLists.txt for each test
17
-# Let's emit some specific information for tests
18
-#
19
-# We could also just grep CMakeCache.txt here, but how stable is its format ?
20
-#
21
-if( LINK_MANIFEST)
22
-
23
-   if( NOT LIBRARY_NAME)
24
-      set( LIBRARY_NAME "${PROJECT_NAME}")
25
-   endif()
26
-
27
-   set( LINK_MANIFEST_FILES
28
-         ${PROJECT_BINARY_DIR}/os-specific-libraries.txt
29
-         ${PROJECT_BINARY_DIR}/dependency-libraries.txt
30
-         ${PROJECT_BINARY_DIR}/optional-dependency-libraries.txt
31
-         ${PROJECT_BINARY_DIR}/all-load-dependency-libraries.txt
32
-   )
33
-
34
-   add_custom_target( __link-manifest__ ALL
35
-                  DEPENDS ${LINK_MANIFEST_FILES}
36
-   )
37
-
38
-   add_dependencies( __link-manifest__ "${LIBRARY_NAME}")
39
-
40
-  # add_dependencies( MulleObjC os_specific_libs)
41
-
42
-   add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/os-specific-libraries.txt
43
-
44
-                      COMMAND echo "${OS_SPECIFIC_LIBRARIES}" | tr ";" "\\012" > ${PROJECT_BINARY_DIR}/os-specific-libraries.txt
45
-
46
-                      WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
47
-                      COMMENT "Create: os-specific-libraries.txt"
48
-                      VERBATIM)
49
-
50
-
51
-   add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/dependency-libraries.txt
52
-
53
-                      COMMAND echo "${DEPENDENCY_LIBRARIES}" | tr ";" "\\012" > ${PROJECT_BINARY_DIR}/dependency-libraries.txt
54
-
55
-                      WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
56
-                      COMMENT "Create: dependency-libraries.txt"
57
-                      VERBATIM)
58
-
59
-   add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/optional-dependency-libraries.txt
60
-
61
-                      COMMAND echo "${OPTIONAL_DEPENDENCY_LIBRARIES}" | tr ";" "\\012" > ${PROJECT_BINARY_DIR}/optional-dependency-libraries.txt
62
-
63
-                      WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
64
-                      COMMENT "Create: optional-dependency-libraries.txt"
65
-                      VERBATIM)
66
-
67
-
68
-   add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/all-load-dependency-libraries.txt
69
-
70
-                      COMMAND echo "${ALL_LOAD_DEPENDENCY_LIBRARIES}" | tr ";" "\\012" > ${PROJECT_BINARY_DIR}/all-load-dependency-libraries.txt
71
-
72
-                      WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
73
-                      COMMENT "Create: all-load-dependency-libraries.txt"
74
-                      VERBATIM)
75
-
76
-   # definitions from cmake/share/LinkManifest.cmake
77
-   install( FILES ${LINK_MANIFEST_FILES}  DESTINATION "include/${LIBRARY_NAME}/link")
78
-
79
-endif()
80
-
81
-include( LinkManifestAuxC OPTIONAL)
... ...
@@ -4,6 +4,4 @@ if( MULLE_TRACE_INCLUDE)
4 4
    message( STATUS "# Include \"${CMAKE_CURRENT_LIST_FILE}\"" )
5 5
 endif()
6 6
 
7
-include( LinkManifestC)
8
-
9 7
 include( PostFrameworkAuxC OPTIONAL)
... ...
@@ -4,6 +4,4 @@ if( MULLE_TRACE_INCLUDE)
4 4
    message( STATUS "# Include \"${CMAKE_CURRENT_LIST_FILE}\"" )
5 5
 endif()
6 6
 
7
-include( LinkManifestC)
8
-
9 7
 include( PostLibraryAuxC OPTIONAL)
... ...
@@ -20,8 +20,8 @@ if( STANDALONE)
20 20
       set( LIBRARY_NAME "${PROJECT_NAME}")
21 21
    endif()
22 22
 
23
-   if( NOT STANDALONE_NAME)
24
-      set( STANDALONE_NAME "${LIBRARY_NAME}-standalone")
23
+   if( NOT STANDALONE_LIBRARY_NAME)
24
+      set( STANDALONE_LIBRARY_NAME "${LIBRARY_NAME}-standalone")
25 25
    endif()
26 26
 
27 27
    if( NOT STANDALONE_DEFINITIONS)
... ...
@@ -46,6 +46,7 @@ if( STANDALONE)
46 46
    # STARTUP_LIBRARY is supposed to be a find_library definition
47 47
    if( NOT STANDALONE_STARTUP_LIBRARY)
48 48
       set( STANDALONE_STARTUP_LIBRARY ${STARTUP_LIBRARY})
49
+      set( STANDALONE_STARTUP_LIBRARY_NAME ${STARTUP_LIBRARY_NAME})
49 50
    endif()
50 51
 
51 52
    if( STANDALONE_STARTUP_LIBRARY)
... ...
@@ -67,7 +68,7 @@ if( STANDALONE)
67 68
       #
68 69
       if( NOT STANDALONE_SOURCES)
69 70
          message( FATAL_ERROR "You need to define STANDALONE_SOURCES. Add a file
70
-${STANDALONE_NAME}.c with contents like this to it:
71
+${STANDALONE_LIBRARY_NAME}.c with contents like this to it:
71 72
 int  ___mulle_vararg_unused__;
72 73
 and everybody will be happy")
73 74
       endif()
... ...
@@ -106,7 +107,7 @@ and everybody will be happy")
106 107
       # On Windows we need to rexport symbols using a .def file
107 108
       #
108 109
       if( MSVC)
109
-         set( DEF_FILE "${STANDALONE_NAME}.def")
110
+         set( DEF_FILE "${STANDALONE_LIBRARY_NAME}.def")
110 111
          set_source_files_properties( ${DEF_FILE} PROPERTIES HEADER_FILE_ONLY TRUE)
111 112
          set( CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS OFF)
112 113
          set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEF:${DEF_FILE}")
... ...
@@ -130,22 +131,24 @@ and everybody will be happy")
130 131
       # Also you get tedious linker warnings on other platforms. Creating the
131 132
       # STANDALONE_SOURCES on the fly, is just not worth it IMO.
132 133
       #
133
-      add_library( ${STANDALONE_NAME} SHARED
134
+      add_library( ${STANDALONE_LIBRARY_NAME} SHARED
134 135
          ${STANDALONE_SOURCES}
135 136
          ${DEF_FILE}
136 137
       )
137
-      set_property( TARGET ${STANDALONE_NAME} PROPERTY CXX_STANDARD 11)
138
+      set_property( TARGET ${STANDALONE_LIBRARY_NAME} PROPERTY CXX_STANDARD 11)
138 139
 
139
-      add_dependencies( ${STANDALONE_NAME} ${LIBRARY_NAME})
140
-      if( STARTUP_NAME)
141
-         add_dependencies( ${STANDALONE_NAME} ${STARTUP_NAME})
140
+      add_dependencies( ${STANDALONE_LIBRARY_NAME} ${LIBRARY_NAME})
141
+      if( STANDALONE_STARTUP_LIBRARY_NAME)
142
+         if( TARGET ${STANDALONE_STARTUP_LIBRARY_NAME})
143
+            add_dependencies( ${STANDALONE_LIBRARY_NAME} ${STANDALONE_STARTUP_LIBRARY_NAME})
144
+         endif()
142 145
       endif()
143 146
 
144 147
       # If STANDALONE_SOURCES were to be empty, this would be needed
145
-      # set_target_properties( ${STANDALONE_NAME} PROPERTIES LINKER_LANGUAGE "C")
148
+      # set_target_properties( ${STANDALONE_LIBRARY_NAME} PROPERTIES LINKER_LANGUAGE "C")
146 149
 
147 150
       # PRIVATE is a guess
148
-      target_compile_definitions( ${STANDALONE_NAME} PRIVATE ${STANDALONE_DEFINITIONS})
151
+      target_compile_definitions( ${STANDALONE_LIBRARY_NAME} PRIVATE ${STANDALONE_DEFINITIONS})
149 152
 
150 153
       #
151 154
       # If you add DEPENDENCY_LIBRARIES to the static, adding them again to
... ...
@@ -156,15 +159,17 @@ and everybody will be happy")
156 159
 
157 160
       CreateForceAllLoadList( STANDALONE_ALL_LOAD_LIBRARIES FORCE_STANDALONE_ALL_LOAD_LIBRARIES)
158 161
 
159
-      target_link_libraries( ${STANDALONE_NAME}
162
+      target_link_libraries( ${STANDALONE_LIBRARY_NAME}
160 163
          ${FORCE_STANDALONE_ALL_LOAD_LIBRARIES}
161 164
          ${OS_SPECIFIC_LIBRARIES}
162
-         ${STARTUP_LIBRARY}
165
+         ${STANDALONE_STARTUP_LIBRARY}
163 166
       )
164 167
 
165 168
       set( INSTALL_LIBRARY_TARGETS
166 169
          ${INSTALL_LIBRARY_TARGETS}
167
-         ${STANDALONE_NAME}
170
+         ${STANDALONE_LIBRARY_NAME}
168 171
       )
172
+
173
+      message( STATUS "STANDALONE_LIBRARY_NAME is ${STANDALONE_LIBRARY_NAME}")
169 174
    endif()
170 175
 endif()
... ...
@@ -14,7 +14,7 @@
14 14
 //
15 15
 // community version is always even
16 16
 //
17
-#define MULLE_VARARG_VERSION  ((1 << 20) | (0 << 8) | 8)
17
+#define MULLE_VARARG_VERSION  ((1 << 20) | (0 << 8) | 9)
18 18
 
19 19
 
20 20
 /*