about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch
blob: dedde22d9271ed43fc4523ebc7f9fb24899b862a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
diff --git i/CMakeLists.txt w/CMakeLists.txt
index 036ab73..0bab8c7 100644
--- i/CMakeLists.txt
+++ w/CMakeLists.txt
@@ -87,33 +87,6 @@ else()
   set(DISABLE_JOURNALD ON)
 endif ()
 
-# shared library
-
-add_library(yder SHARED ${LIB_SRC})
-if (NOT MSVC)
-    set_target_properties(yder PROPERTIES
-            COMPILE_OPTIONS -Wextra
-            PUBLIC_HEADER "${INC_DIR}/yder.h;${PROJECT_BINARY_DIR}/yder-cfg.h"
-            VERSION "${LIBRARY_VERSION}"
-            SOVERSION "${LIBRARY_SOVERSION}")
-endif()
-if (WIN32)
-    set_target_properties(yder PROPERTIES SUFFIX "-${LIBRARY_VERSION_MAJOR}.dll")
-endif ()
-
-target_link_libraries(yder ${LIBS} ${ORCANIA_LIBRARIES} ${SYSTEMD_LIBRARIES})
-
-# static library
-
-option(BUILD_STATIC "Build static library." OFF)
-
-if (BUILD_STATIC)
-    add_library(yder_static STATIC ${LIB_SRC})
-    target_compile_definitions(yder_static PUBLIC -DO_STATIC_LIBRARY)
-    set_target_properties(yder_static PROPERTIES
-            OUTPUT_NAME yder)
-endif ()
-
 option (SEARCH_ORCANIA "Search for Orcania library" ON)
 if (SEARCH_ORCANIA)
     set(Orcania_FIND_QUIETLY ON) # force to find Orcania quietly
@@ -145,6 +118,33 @@ else ()
   set(PKGCONF_REQ_PRIVATE "liborcania")
 endif ()
 
+# shared library
+
+add_library(yder SHARED ${LIB_SRC})
+if (NOT MSVC)
+    set_target_properties(yder PROPERTIES
+            COMPILE_OPTIONS -Wextra
+            PUBLIC_HEADER "${INC_DIR}/yder.h;${PROJECT_BINARY_DIR}/yder-cfg.h"
+            VERSION "${LIBRARY_VERSION}"
+            SOVERSION "${LIBRARY_SOVERSION}")
+endif()
+if (WIN32)
+    set_target_properties(yder PROPERTIES SUFFIX "-${LIBRARY_VERSION_MAJOR}.dll")
+endif ()
+
+target_link_libraries(yder ${LIBS} ${ORCANIA_LIBRARIES} ${SYSTEMD_LIBRARIES})
+
+# static library
+
+option(BUILD_STATIC "Build static library." OFF)
+
+if (BUILD_STATIC)
+    add_library(yder_static STATIC ${LIB_SRC})
+    target_compile_definitions(yder_static PUBLIC -DO_STATIC_LIBRARY)
+    set_target_properties(yder_static PROPERTIES
+            OUTPUT_NAME yder)
+endif ()
+
 # build yder-cfg.h file
 configure_file(${INC_DIR}/yder-cfg.h.in ${PROJECT_BINARY_DIR}/yder-cfg.h)
 set (CMAKE_EXTRA_INCLUDE_FILES ${PROJECT_BINARY_DIR})
@@ -168,10 +168,9 @@ if (BUILD_YDER_TESTING)
         set(CMAKE_CTEST_COMMAND ctest -V)
 
         set(TST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test)
-        set(LIBS yder ${LIBS} ${CHECK_LIBRARIES})
         if (NOT WIN32)
             find_package(Threads REQUIRED)
-            set(LIBS ${LIBS} ${SUBUNIT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} m rt)
+            set(LIBS yder ${LIBS} ${SUBUNIT_LIBRARIES} ${ORCANIA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CHECK_LIBRARIES} m)
         endif ()
 
         set(TESTS yder_test)
@@ -186,7 +185,6 @@ if (BUILD_YDER_TESTING)
             target_include_directories(${t} PUBLIC ${TST_DIR})
             target_link_libraries(${t} PUBLIC ${LIBS})
             add_test(NAME ${t}
-                    WORKING_DIRECTORY ${TST_DIR}
                     COMMAND ${t})
         endforeach ()
     endif ()
diff --git i/src/yder.c w/src/yder.c
index 3122e3f..79e4e70 100644
--- i/src/yder.c
+++ w/src/yder.c
@@ -236,11 +236,12 @@ static int y_write_log(const char * app_name,
       if (cur_mode & Y_LOG_MODE_SYSLOG) {
         y_write_log_syslog(cur_app_name, level, message);
       }
-  #ifndef Y_DISABLE_JOURNALD
+#endif
+
+#if !defined(_WIN32) && !defined(Y_DISABLE_JOURNALD)
       if (cur_mode & Y_LOG_MODE_JOURNALD) {
         y_write_log_journald(cur_app_name, level, message);
       }
-  #endif
 #endif
       if (cur_mode & Y_LOG_MODE_FILE) {
         y_write_log_file(cur_app_name, now, cur_log_file, level, message);
@@ -266,18 +267,20 @@ static int y_write_log(const char * app_name,
  */
 int y_init_logs(const char * app, const unsigned long init_mode, const unsigned long init_level, const char * init_log_file, const char * message) {
 #ifdef _WIN32
-	if (init_mode & Y_LOG_MODE_SYSLOG) {
-		perror("syslog mode not supported on your architecture");
-		return 0;
-  } else if (init_mode & Y_LOG_MODE_JOURNALD) {
-		perror("journald mode not supported on your architecture");
-		return 0;
-	} else {
-		return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message);
-	}
-#else
-  return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message);
+  if (init_mode & Y_LOG_MODE_SYSLOG) {
+    perror("syslog mode not supported on your architecture");
+    return 0;
+  }
 #endif
+
+#if defined(_WIN32) || defined(Y_DISABLE_JOURNALD)
+  if (init_mode & Y_LOG_MODE_JOURNALD) {
+    perror("journald mode not supported on your architecture");
+    return 0;
+  }
+#endif
+
+  return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message);
 }
 
 /**
diff --git i/test/yder_test.c w/test/yder_test.c
index a10fd9f..b73fb16 100644
--- i/test/yder_test.c
+++ w/test/yder_test.c
@@ -27,7 +27,11 @@ START_TEST(test_yder_init)
   y_close_logs();
   ck_assert_int_eq(y_init_logs("test_yder_syslog", Y_LOG_MODE_SYSLOG, Y_LOG_LEVEL_DEBUG, NULL, "third test"), 1);
   y_close_logs();
+#ifndef Y_DISABLE_JOURNALD
   ck_assert_int_eq(y_init_logs("test_yder_journald", Y_LOG_MODE_JOURNALD, Y_LOG_LEVEL_DEBUG, NULL, "fourth test"), 1);
+#else
+  ck_assert_int_eq(y_init_logs("test_yder_journald", Y_LOG_MODE_JOURNALD, Y_LOG_LEVEL_DEBUG, NULL, "fourth test"), 0);
+#endif
   y_close_logs();
   ck_assert_int_eq(y_init_logs("test_yder_file_fail", Y_LOG_MODE_FILE, Y_LOG_LEVEL_DEBUG, "/nope/nope", "second test"), 0);
 }