changed shared library to static archive EDGE-238
authorwansuyoo <wansu.yoo@samsung.com>
Fri, 29 Mar 2019 04:36:28 +0000 (13:36 +0900)
committerwansuyoo <wansu.yoo@samsung.com>
Fri, 29 Mar 2019 04:36:28 +0000 (13:36 +0900)
Makefile
src/CMain/Makefile
src/CMain/bin/orchestration
src/CMain/inc/liborchestration.h [deleted file]
src/CMain/inc/liborchestration.so [deleted file]
src/CMain/inc/orchestration.h [new file with mode: 0644]
src/CMain/lib/liborchestration.a [new file with mode: 0644]
src/CMain/src/main.c

index 105324c754f725f80def6fc47501aad4ba839177..1f46d76d2fb0680b8adc2db2551ed1084838baee 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,11 +15,13 @@ OBJ_SRC_DIR         := interface
 PKG_DIRS               := devicemgr discoverymgr interface restapi/v1 servicemgr
 
 # CMain target
-HEADER_FILE_C  := liborchestration.h
-OBJECT_FILE_C  := liborchestration.so
+ORG_HEADER_FILE_C      := liborchestration.h
+HEADER_FILE_C  := orchestration.h
+OBJECT_FILE_C  := liborchestration.a
 CMAIN_DIR              := $(BASE_DIR)/src/CMain
 CMAIN_INC_DIR  := $(CMAIN_DIR)/inc
 CMAIN_BIN_DIR  := $(CMAIN_DIR)/bin
+CMAIN_LIB_DIR  := $(CMAIN_DIR)/lib
 
 
 
@@ -38,7 +40,8 @@ build-binary:
 
 ## edge-orchestration shared object build
 build-object:
-       CGO_ENABLED=1 $(GOBUILD) -o $(CMAIN_INC_DIR)/$(OBJECT_FILE_C) -buildmode=c-shared -linkshared $(OBJ_SRC_DIR) || exit 1
+       CGO_ENABLED=1 $(GOBUILD) -o $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C) -buildmode=c-archive $(OBJ_SRC_DIR) || exit 1
+       mv $(CMAIN_LIB_DIR)/$(ORG_HEADER_FILE_C) $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
 
 ## go test and coverage
 test:
@@ -50,8 +53,8 @@ test:
 ## build clean
 clean:
        $(GOCLEAN)
-       -rm -f $(CMAIN_DIR)/$(OBJECT_FILE_C)
-       -rm -f $(CMAIN_DIR)/$(HEADER_FILE_C)
+       -rm -f $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
+       -rm -f $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C)
        -rm -f $(BIN_DIR)/*
 
 ## check go style and static analysis
index 0bff023d80848f7336bdd59118c01fc4cba3da51..fe054ca02640e5952cd86f371a63242589470076 100644 (file)
@@ -10,7 +10,7 @@ all: orchestration
 # lt; -o $@
 
 orchestration: main.o dbus_interface.o
-       $(CC) -g -Wall -Werror ./src/main.o ./src/dbus_interface.o -o ./bin/orchestration -I ./inc `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0 dbus-glib-1 dbus-1`
+       $(CC) -g -Wall -Werror ./src/main.o ./src/dbus_interface.o -o ./bin/orchestration -I ./inc `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0 dbus-glib-1 dbus-1` -L./lib -lorchestration
 
 main.o: ./src/main.c
        $(CC) -Wall ./src/main.c -c -o ./src/main.o -I ./inc `pkg-config --libs --cflags glib-2.0`
index 5596b8aae1aed9607c48f58a5a30d5d638ac966d..1168c30c796aabfe30f5d21529af3722454ae176 100755 (executable)
Binary files a/src/CMain/bin/orchestration and b/src/CMain/bin/orchestration differ
diff --git a/src/CMain/inc/liborchestration.h b/src/CMain/inc/liborchestration.h
deleted file mode 100644 (file)
index 50bfb22..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Code generated by cmd/cgo; DO NOT EDIT. */
-
-/* package interface */
-
-
-#line 1 "cgo-builtin-prolog"
-
-#include <stddef.h> /* for ptrdiff_t below */
-
-#ifndef GO_CGO_EXPORT_PROLOGUE_H
-#define GO_CGO_EXPORT_PROLOGUE_H
-
-typedef struct { const char *p; ptrdiff_t n; } _GoString_;
-
-#endif
-
-/* Start of preamble from import "C" comments.  */
-
-
-
-
-/* End of preamble from import "C" comments.  */
-
-
-/* Start of boilerplate cgo prologue.  */
-#line 1 "cgo-gcc-export-header-prolog"
-
-#ifndef GO_CGO_PROLOGUE_H
-#define GO_CGO_PROLOGUE_H
-
-typedef signed char GoInt8;
-typedef unsigned char GoUint8;
-typedef short GoInt16;
-typedef unsigned short GoUint16;
-typedef int GoInt32;
-typedef unsigned int GoUint32;
-typedef long long GoInt64;
-typedef unsigned long long GoUint64;
-typedef GoInt64 GoInt;
-typedef GoUint64 GoUint;
-typedef __SIZE_TYPE__ GoUintptr;
-typedef float GoFloat32;
-typedef double GoFloat64;
-typedef float _Complex GoComplex64;
-typedef double _Complex GoComplex128;
-
-/*
-  static assertion to make sure the file is being used on architecture
-  at least with matching size of GoInt.
-*/
-typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
-
-typedef _GoString_ GoString;
-typedef void *GoMap;
-typedef void *GoChan;
-typedef struct { void *t; void *v; } GoInterface;
-typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
-
-#endif
-
-/* End of boilerplate cgo prologue.  */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern int OrchestrationInit();
-
-extern int OrchestrationRequestService();
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/src/CMain/inc/liborchestration.so b/src/CMain/inc/liborchestration.so
deleted file mode 100644 (file)
index 45cf92f..0000000
Binary files a/src/CMain/inc/liborchestration.so and /dev/null differ
diff --git a/src/CMain/inc/orchestration.h b/src/CMain/inc/orchestration.h
new file mode 100644 (file)
index 0000000..50bfb22
--- /dev/null
@@ -0,0 +1,74 @@
+/* Code generated by cmd/cgo; DO NOT EDIT. */
+
+/* package interface */
+
+
+#line 1 "cgo-builtin-prolog"
+
+#include <stddef.h> /* for ptrdiff_t below */
+
+#ifndef GO_CGO_EXPORT_PROLOGUE_H
+#define GO_CGO_EXPORT_PROLOGUE_H
+
+typedef struct { const char *p; ptrdiff_t n; } _GoString_;
+
+#endif
+
+/* Start of preamble from import "C" comments.  */
+
+
+
+
+/* End of preamble from import "C" comments.  */
+
+
+/* Start of boilerplate cgo prologue.  */
+#line 1 "cgo-gcc-export-header-prolog"
+
+#ifndef GO_CGO_PROLOGUE_H
+#define GO_CGO_PROLOGUE_H
+
+typedef signed char GoInt8;
+typedef unsigned char GoUint8;
+typedef short GoInt16;
+typedef unsigned short GoUint16;
+typedef int GoInt32;
+typedef unsigned int GoUint32;
+typedef long long GoInt64;
+typedef unsigned long long GoUint64;
+typedef GoInt64 GoInt;
+typedef GoUint64 GoUint;
+typedef __SIZE_TYPE__ GoUintptr;
+typedef float GoFloat32;
+typedef double GoFloat64;
+typedef float _Complex GoComplex64;
+typedef double _Complex GoComplex128;
+
+/*
+  static assertion to make sure the file is being used on architecture
+  at least with matching size of GoInt.
+*/
+typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
+
+typedef _GoString_ GoString;
+typedef void *GoMap;
+typedef void *GoChan;
+typedef struct { void *t; void *v; } GoInterface;
+typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
+
+#endif
+
+/* End of boilerplate cgo prologue.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+extern int OrchestrationInit();
+
+extern int OrchestrationRequestService();
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/CMain/lib/liborchestration.a b/src/CMain/lib/liborchestration.a
new file mode 100644 (file)
index 0000000..2d7e4a7
Binary files /dev/null and b/src/CMain/lib/liborchestration.a differ
index 0f38e54dd4616959d3b6f619cc63f3535672b875..cf6c29d52dd553c727b846fd58b99425c2d0109e 100644 (file)
@@ -2,6 +2,7 @@
 #include <gio/gio.h>
 
 #include <dbus_interface.h>
+#include <orchestration.h>
 
 void request_cb(char* app_name, char* service_info){
        printf("app_name : %s\n", app_name);
@@ -11,6 +12,7 @@ void request_cb(char* app_name, char* service_info){
 int main(void){
        int result;
        GMainLoop *loop;
+       OrchestrationInit();
        result = orch_dbus_initialize(request_cb);
        if(result != ORCH_ERROR_NONE){
                printf("dbus error\n");