You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2016/01/09 20:46:44 UTC

celix git commit: CELIX-335: Change some files names for tmp file generation during build. Seperate run.sh generation for max and linux. Added option for dm as shared lib

Repository: celix
Updated Branches:
  refs/heads/feature/CELIX-335_deploy_refactoring 2b4c8c226 -> 61a711389


CELIX-335: Change some files names for tmp file generation during build. Seperate run.sh generation for max and linux. Added option for dm as shared lib


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/61a71138
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/61a71138
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/61a71138

Branch: refs/heads/feature/CELIX-335_deploy_refactoring
Commit: 61a71138927978ec5e40a565e068d3651c7f16eb
Parents: 2b4c8c2
Author: Pepijn Noltes <pe...@gmail.com>
Authored: Sat Jan 9 20:44:36 2016 +0100
Committer: Pepijn Noltes <pe...@gmail.com>
Committed: Sat Jan 9 20:44:36 2016 +0100

----------------------------------------------------------------------
 cmake/cmake_celix/Packaging.cmake               | 53 ++++++++++++--------
 dependency_manager/CMakeLists.txt               | 29 ++++++-----
 .../private/src/dm_activator_base.c             | 50 +++++++++++++++++-
 .../public/include/dm_activator.h               | 40 +++++++++++++++
 .../public/include/dm_activator_base.h          | 41 ---------------
 examples/dm_example/phase1/CMakeLists.txt       |  9 +---
 .../phase1/private/src/phase1_activator.c       |  2 +-
 .../dm_example/phase1/private/src/phase1_cmp.c  |  2 +-
 examples/dm_example/phase2a/CMakeLists.txt      |  8 +--
 .../phase2a/private/src/phase2a_activator.c     |  2 +-
 examples/dm_example/phase2b/CMakeLists.txt      |  9 +---
 .../phase2b/private/src/phase2b_activator.c     |  2 +-
 .../phase2b/private/src/phase2b_cmp.c           |  2 +-
 examples/dm_example/phase3/CMakeLists.txt       |  9 +---
 .../phase3/private/src/phase3_activator.c       |  2 +-
 .../private/src/dependency_activator.c          |  2 +-
 16 files changed, 152 insertions(+), 110 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/cmake/cmake_celix/Packaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/Packaging.cmake b/cmake/cmake_celix/Packaging.cmake
index 0b50812..48b8eec 100644
--- a/cmake/cmake_celix/Packaging.cmake
+++ b/cmake/cmake_celix/Packaging.cmake
@@ -166,16 +166,18 @@ function(add_bundle)
 
     ##### MANIFEST configuration and generation ##################
     #Step1 configure the file so that the target name is present in in the template
-    configure_file(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Manifest.template.in ${BUNDLE_GEN_DIR}/MANIFEST.template)
+    configure_file(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Manifest.template.in ${BUNDLE_GEN_DIR}/MANIFEST.step1)
+
     #Step2 replace headers with target property values. Note this is done build time
     file(GENERATE 
-        OUTPUT "${BUNDLE_GEN_DIR}/MANIFEST.tmp"
-        INPUT "${BUNDLE_GEN_DIR}/MANIFEST.template"
+        OUTPUT "${BUNDLE_GEN_DIR}/MANIFEST.step2"
+        INPUT "${BUNDLE_GEN_DIR}/MANIFEST.step1"
     )
+
     #Step3 The replaced values in step 2 can contain generator expresssion, generated again to resolve those. Note this is done build time
     file(GENERATE 
         OUTPUT "${BUNDLE_GEN_DIR}/MANIFEST.MF"
-        INPUT "${BUNDLE_GEN_DIR}/MANIFEST.tmp"
+        INPUT "${BUNDLE_GEN_DIR}/MANIFEST.step2"
     )   
     #########################################################
 
@@ -305,10 +307,16 @@ function(bundle_libs)
     get_target_property(DEPS ${BUNDLE} "BUNDLE_DEPEND_TARGETS")
 
     foreach(LIB IN ITEMS ${ARGN})
-        check_lib(${LIB})
-
-        if(TARGET ${LIB})
-
+        if(IS_ABSOLUTE ${LIB} AND EXISTS ${LIB})
+            get_filename_component(LIB_NAME ${LIB} NAME) 
+            set(OUT "${BUNDLE_DIR}/${LIB_NAME}") 
+            add_custom_command(OUTPUT ${OUT} 
+                COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LIB} ${OUT} 
+            )
+            list(APPEND LIBS ${LIB_NAME})
+            list(APPEND DEPS ${OUT}) 
+        else()
+            #Assuming target
             #NOTE add_custom_command does not support generator expression in OUTPUT value (e.g. $<TARGET_FILE:${LIB}>)
             #Using a two step approach to be able to use add_custom_command instead of add_custom_target
             set(OUT "${BUNDLE_GEN_DIR}/lib-${LIB}-copy-timestamp")
@@ -319,14 +327,6 @@ function(bundle_libs)
             )
             list(APPEND DEPS "${OUT}") #NOTE depending on ${OUT} not on $<TARGET_FILE:${LIB}>.
             list(APPEND LIBS "$<TARGET_SONAME_FILE_NAME:${LIB}>")
-        else()
-            get_filename_component(LIB_NAME ${LIB} NAME) 
-            set(OUT "${BUNDLE_DIR}/${LIB_NAME}") 
-            add_custom_command(OUTPUT ${OUT} 
-                COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LIB} ${OUT} 
-            )
-            list(APPEND LIBS ${LIB_NAME})
-            list(APPEND DEPS ${OUT}) 
         endif()
 
         get_target_property(IS_LIB ${BUNDLE} "BUNDLE_TARGET_IS_LIB")
@@ -471,8 +471,10 @@ function(add_deploy)
         COMMENT "Deploying ${DEPLOY_NAME}" VERBATIM
     )
 
+
+    #TODO generate in the CMakeFiles/deploy.dir/<GROUP_NAME>/DEPLOY_NAME> location
     file(GENERATE 
-        OUTPUT "${DEPLOY_LOCATION}/config.properties.tmp"
+        OUTPUT "${DEPLOY_LOCATION}/config.properties.step1"
         CONTENT "cosgi.auto.start.1=$<JOIN:$<TARGET_PROPERTY:${DEPLOY_TARGET},DEPLOY_BUNDLES>, >
 $<JOIN:$<TARGET_PROPERTY:${DEPLOY_TARGET},DEPLOY_PROPERTIES>,
 >
@@ -481,15 +483,24 @@ $<JOIN:$<TARGET_PROPERTY:${DEPLOY_TARGET},DEPLOY_PROPERTIES>,
 
     file(GENERATE
         OUTPUT "${DEPLOY_LOCATION}/config.properties"
-        INPUT "${DEPLOY_LOCATION}/config.properties.tmp"
+        INPUT "${DEPLOY_LOCATION}/config.properties.step1"
     )
 
-    file(GENERATE
-        OUTPUT ${DEPLOY_LOCATION}/run.sh
-        CONTENT "export DYLD_LIBRARY_PATH=$<TARGET_FILE_DIR:celix_framework>:$<TARGET_FILE_DIR:celix_utils>:$<TARGET_FILE_DIR:celix_dfi>
+    if(APPLE) 
+        file(GENERATE
+            OUTPUT ${DEPLOY_LOCATION}/run.sh
+            CONTENT "export DYLD_LIBRARY_PATH=$<TARGET_FILE_DIR:celix_framework>:$<TARGET_FILE_DIR:celix_utils>:$<TARGET_FILE_DIR:celix_dfi>
+$<TARGET_FILE:celix> $@
+"
+    )
+    else() 
+        file(GENERATE
+            OUTPUT ${DEPLOY_LOCATION}/run.sh
+            CONTENT "export LD_LIBRARY_PATH=$<TARGET_FILE_DIR:celix_framework>:$<TARGET_FILE_DIR:celix_utils>:$<TARGET_FILE_DIR:celix_dfi>
 $<TARGET_FILE:celix> $@
 "
     )
+    endif()
 
     #TODO eclipse launcher file
     #####

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/dependency_manager/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/dependency_manager/CMakeLists.txt b/dependency_manager/CMakeLists.txt
index 48214b0..efd3be7 100644
--- a/dependency_manager/CMakeLists.txt
+++ b/dependency_manager/CMakeLists.txt
@@ -30,13 +30,6 @@ if (DEPENDENCY_MANAGER)
       endif(CMAKE_UNAME)
     endif(UNIX AND NOT WIN32)
 
-    #TODO check if something needs to be done?
-    #CELIX_ADD_COMPONENT(dependency_manager
-    #	DISPLAY_NAME Dependency Manager
-    #    DESCRIPTION "The Apache Celix dependency manager (static) library"
-    #    GROUP all
-    #)
-
     add_bundle(dm_shell
         SYMBOLIC_NAME "apche_celix_dm_shell"
         VERSION "0.0.1"
@@ -48,33 +41,43 @@ if (DEPENDENCY_MANAGER)
     target_link_libraries(dm_shell celix_framework celix_utils)
 
 
-    add_library(dependency_manager STATIC 
+    add_library(dependency_manager_static STATIC 
+    	private/src/dm_activator_base 
+    	private/src/dm_component_impl 
+    	private/src/dm_service_dependency
+    	private/src/dm_event
+    	private/src/dm_dependency_manager_impl
+    )
+
+    add_library(dependency_manager SHARED 
     	private/src/dm_activator_base 
     	private/src/dm_component_impl 
     	private/src/dm_service_dependency
     	private/src/dm_event
     	private/src/dm_dependency_manager_impl
     )
+    set_target_properties(dependency_manager PROPERTIES SOVERSION 1)
+    target_compile_definitions(dependency_manager PRIVATE DM_USE_WEAK_DEFAULT_FUNCTIONS)
 
    	include_directories("public/include")
    	include_directories("private/include")
     include_directories("../shell/public/include")
     include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
     target_link_libraries(dependency_manager celix_framework)
+    target_link_libraries(dependency_manager_static celix_framework)
     
     install(
     	FILES
-    	    public/include/dm_activator_base.h
+    	    public/include/dm_activator.h
             public/include/dm_component.h
             public/include/dm_dependency_manager.h
             public/include/dm_service_dependency.h
             public/include/dm_info.h
 		DESTINATION 
 	    	include/celix/dependency_manager
-	    #TODO install componnent
-		#COMPONENT
-		#	dependency_manager
+		COMPONENT
+			dependency_manager
 	)
     install_bundle(dm_shell)
-    install(TARGETS dependency_manager DESTINATION lib COMPONENT dependency_manager)
+    install(TARGETS dependency_manager dependency_manager_static DESTINATION lib COMPONENT dependency_manager)
 endif (DEPENDENCY_MANAGER)

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/dependency_manager/private/src/dm_activator_base.c
----------------------------------------------------------------------
diff --git a/dependency_manager/private/src/dm_activator_base.c b/dependency_manager/private/src/dm_activator_base.c
index 60a47ac..2f86707 100644
--- a/dependency_manager/private/src/dm_activator_base.c
+++ b/dependency_manager/private/src/dm_activator_base.c
@@ -28,10 +28,20 @@
 
 #include <stdlib.h>
 
+#include "bundle_context.h"
+#include "celix_errno.h"
+#include "dm_dependency_manager.h"
 #include "bundle_activator.h"
-#include "dm_activator_base.h"
 #include "dm_info.h"
 
+#ifdef DM_USE_WEAK_DEFAULT_FUNCTIONS
+celix_status_t dm_create(bundle_context_pt context, void ** userData) __attribute__((weak));
+celix_status_t dm_init(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager) __attribute__((weak));
+celix_status_t dm_destroy(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager) __attribute__((weak));
+#else
+#include "dm_activator.h"
+#endif
+
 struct dm_dependency_activator_base {
 	dm_dependency_manager_pt manager;
 	bundle_context_pt context;
@@ -42,6 +52,7 @@ struct dm_dependency_activator_base {
 
 typedef struct dm_dependency_activator_base * dependency_activator_base_pt;
 
+
 celix_status_t bundleActivator_create(bundle_context_pt context, void **userData) {
 	celix_status_t status = CELIX_ENOMEM;
 
@@ -125,4 +136,41 @@ celix_status_t bundleActivator_destroy(void * userData, bundle_context_pt contex
 	return status;
 }
 
+#ifdef DM_USE_WEAK_DEFAULT_FUNCTIONS
 
+static char * dm_getSymbolicNameFromContext(bundle_context_pt context) {
+    celix_status_t status = CELIX_SUCCESS;
+    bundle_pt bundle = NULL;
+    module_pt module = NULL;
+    char *name =  NULL;
+    if (context != NULL) {
+        status = bundleContext_getBundle(context, &bundle);
+    } 
+    if (status == CELIX_SUCCESS) {
+        status = bundle_getCurrentModule(bundle, &module);
+    }
+    if (status == CELIX_SUCCESS) {
+        status = module_getSymbolicName(module, &name);
+    }
+    return name;
+}
+
+celix_status_t dm_create(bundle_context_pt context, void ** userData) {
+    //NOTE weak version
+    printf("Error: Bundle '%s' should implement the dm_create function\n", dm_getSymbolicNameFromContext(context));
+    *userData = NULL;
+    return CELIX_SUCCESS;
+}
+
+celix_status_t dm_init(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
+    //NOTE weak version
+    printf("Error: Bundle '%s' should implement the dm_init function\n", dm_getSymbolicNameFromContext(context));
+    return CELIX_SUCCESS;
+}
+
+celix_status_t dm_destroy(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
+    //NOTE weak version
+    printf("Error: Bundle '%s' should implement the dm_destroy function\n", dm_getSymbolicNameFromContext(context));
+    return CELIX_SUCCESS;
+}
+#endif

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/dependency_manager/public/include/dm_activator.h
----------------------------------------------------------------------
diff --git a/dependency_manager/public/include/dm_activator.h b/dependency_manager/public/include/dm_activator.h
new file mode 100644
index 0000000..a439ee5
--- /dev/null
+++ b/dependency_manager/public/include/dm_activator.h
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * dm_activator_base.h
+ *
+ *  \date       26 Jul 2014
+ *  \author     <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ *  \copyright  Apache License, Version 2.0
+ */
+
+
+#ifndef DM_ACTIVATOR_BASE_H_
+#define DM_ACTIVATOR_BASE_H_
+
+#include "bundle_context.h"
+#include "celix_errno.h"
+#include "dm_dependency_manager.h"
+
+celix_status_t dm_create(bundle_context_pt context, void ** userData);
+celix_status_t dm_init(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
+celix_status_t dm_destroy(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
+
+#endif /* DM_ACTIVATOR_BASE_H_ */

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/dependency_manager/public/include/dm_activator_base.h
----------------------------------------------------------------------
diff --git a/dependency_manager/public/include/dm_activator_base.h b/dependency_manager/public/include/dm_activator_base.h
deleted file mode 100644
index 80196e2..0000000
--- a/dependency_manager/public/include/dm_activator_base.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0 
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/*
- * dm_activator_base.h
- *
- *  \date       26 Jul 2014
- *  \author     <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
- *  \copyright  Apache License, Version 2.0
- */
-
-
-#ifndef DM_ACTIVATOR_BASE_H_
-#define DM_ACTIVATOR_BASE_H_
-
-#include "bundle_context.h"
-#include "celix_errno.h"
-#include "dm_dependency_manager.h"
-
-celix_status_t dm_create(bundle_context_pt context, void ** userData);
-celix_status_t dm_init(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
-celix_status_t dm_deinit(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
-celix_status_t dm_destroy(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
-
-#endif /* DM_ACTIVATOR_BASE_H_ */

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase1/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase1/CMakeLists.txt b/examples/dm_example/phase1/CMakeLists.txt
index 91c3d4f..b746200 100644
--- a/examples/dm_example/phase1/CMakeLists.txt
+++ b/examples/dm_example/phase1/CMakeLists.txt
@@ -23,15 +23,10 @@ add_bundle(phase1
         private/src/phase1_cmp.c
 )
 
+bundle_private_libs(phase1 dependency_manager)
+
 include_directories(
         private/include
         ../services
 )
 
-# Use some magic to include all symbols of the static library
-IF(APPLE)
-target_link_libraries(phase1 celix_framework -Wl,-all_load dependency_manager)
-else()
-target_link_libraries(phase1 -Wl,--whole-archive dependency_manager -Wl,--no-whole-archive celix_framework)
-ENDIF()
-

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase1/private/src/phase1_activator.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase1/private/src/phase1_activator.c b/examples/dm_example/phase1/private/src/phase1_activator.c
index 299228a..783e642 100644
--- a/examples/dm_example/phase1/private/src/phase1_activator.c
+++ b/examples/dm_example/phase1/private/src/phase1_activator.c
@@ -27,7 +27,7 @@
 #include <phase1_cmp.h>
 
 #include "bundle_activator.h"
-#include "dm_activator_base.h"
+#include "dm_activator.h"
 
 #include "phase1.h"
 

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase1/private/src/phase1_cmp.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase1/private/src/phase1_cmp.c b/examples/dm_example/phase1/private/src/phase1_cmp.c
index e050ba2..75de182 100644
--- a/examples/dm_example/phase1/private/src/phase1_cmp.c
+++ b/examples/dm_example/phase1/private/src/phase1_cmp.c
@@ -96,4 +96,4 @@ static void *phase1_thread(void *data) {
 int phase1_getData(phase1_cmp_t *cmp, unsigned int *data) {
     *data = cmp->counter;
     return 0;
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase2a/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2a/CMakeLists.txt b/examples/dm_example/phase2a/CMakeLists.txt
index da4804b..f5617fa 100644
--- a/examples/dm_example/phase2a/CMakeLists.txt
+++ b/examples/dm_example/phase2a/CMakeLists.txt
@@ -28,10 +28,10 @@ include_directories(
         ../services
 )
 
-#target_link_libraries(fase2_a -Wl,--whole-archive dependency_manager2 -Wl,--no-whole-archive celix_framework)
-#target_link_libraries(fase2_a celix_framework)
+# Note as example the phase2a uses the dependency manager as static library. 
+# Some additional linking argument magic is needed to make this work
 IF(APPLE)
-target_link_libraries(phase2a celix_framework -Wl,-all_load dependency_manager)
+target_link_libraries(phase2a celix_framework -Wl,-all_load dependency_manager_static)
 else()
-target_link_libraries(phase2a -Wl,--whole-archive dependency_manager -Wl,--no-whole-archive celix_framework)
+target_link_libraries(phase2a -Wl,--whole-archive dependency_manager -Wl,--no-whole-archive celix_framework_static)
 ENDIF()

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase2a/private/src/phase2a_activator.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2a/private/src/phase2a_activator.c b/examples/dm_example/phase2a/private/src/phase2a_activator.c
index df639a8..a05ab54 100644
--- a/examples/dm_example/phase2a/private/src/phase2a_activator.c
+++ b/examples/dm_example/phase2a/private/src/phase2a_activator.c
@@ -27,7 +27,7 @@
 #include <phase2a_cmp.h>
 
 #include "bundle_activator.h"
-#include "dm_activator_base.h"
+#include "dm_activator.h"
 
 #include "phase1.h"
 #include "phase2.h"

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase2b/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2b/CMakeLists.txt b/examples/dm_example/phase2b/CMakeLists.txt
index c032fed..d2d6a2f 100644
--- a/examples/dm_example/phase2b/CMakeLists.txt
+++ b/examples/dm_example/phase2b/CMakeLists.txt
@@ -22,16 +22,9 @@ add_bundle(phase2b
                 private/src/phase2b_activator
                 private/src/phase2b_cmp
 )
+bundle_private_libs(phase2b dependency_manager)
 
 include_directories(
         private/include
         ../services
 )
-
-#target_link_libraries(fase2_a -Wl,--whole-archive dependency_manager2 -Wl,--no-whole-archive celix_framework)
-#target_link_libraries(fase2_a celix_framework)
-IF(APPLE)
-target_link_libraries(phase2b celix_framework -Wl,-all_load dependency_manager)
-else()
-target_link_libraries(phase2b -Wl,--whole-archive dependency_manager -Wl,--no-whole-archive celix_framework)
-ENDIF()

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase2b/private/src/phase2b_activator.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2b/private/src/phase2b_activator.c b/examples/dm_example/phase2b/private/src/phase2b_activator.c
index 8797271..ca66d44 100644
--- a/examples/dm_example/phase2b/private/src/phase2b_activator.c
+++ b/examples/dm_example/phase2b/private/src/phase2b_activator.c
@@ -27,7 +27,7 @@
 #include <phase2b_cmp.h>
 
 #include "bundle_activator.h"
-#include "dm_activator_base.h"
+#include "dm_activator.h"
 
 #include "phase1.h"
 #include "phase2.h"

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase2b/private/src/phase2b_cmp.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2b/private/src/phase2b_cmp.c b/examples/dm_example/phase2b/private/src/phase2b_cmp.c
index 9d6d3d5..3f8d319 100644
--- a/examples/dm_example/phase2b/private/src/phase2b_cmp.c
+++ b/examples/dm_example/phase2b/private/src/phase2b_cmp.c
@@ -113,4 +113,4 @@ static void *phase2b_thread(void *data) {
 int phase2b_getData(phase2b_cmp_t *cmp, double *data) {
     *data = cmp->currentValue;
     return 0;
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase3/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase3/CMakeLists.txt b/examples/dm_example/phase3/CMakeLists.txt
index 6ec41d8..496a67f 100644
--- a/examples/dm_example/phase3/CMakeLists.txt
+++ b/examples/dm_example/phase3/CMakeLists.txt
@@ -22,16 +22,9 @@ add_bundle(phase3
                 private/src/phase3_activator
                 private/src/phase3_cmp
 )
+bundle_private_libs(phase3 dependency_manager)
 
 include_directories(
         private/include
         ../services
 )
-
-#target_link_libraries(fase2_a -Wl,--whole-archive dependency_manager2 -Wl,--no-whole-archive celix_framework)
-#target_link_libraries(fase2_a celix_framework)
-IF(APPLE)
-target_link_libraries(phase3 celix_framework -Wl,-all_load dependency_manager)
-else()
-target_link_libraries(phase3 -Wl,--whole-archive dependency_manager -Wl,--no-whole-archive celix_framework)
-ENDIF()

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/dm_example/phase3/private/src/phase3_activator.c
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase3/private/src/phase3_activator.c b/examples/dm_example/phase3/private/src/phase3_activator.c
index d2a1b9c..6377fcf 100644
--- a/examples/dm_example/phase3/private/src/phase3_activator.c
+++ b/examples/dm_example/phase3/private/src/phase3_activator.c
@@ -26,7 +26,7 @@
 #include <stdlib.h>
 
 #include "bundle_activator.h"
-#include "dm_activator_base.h"
+#include "dm_activator.h"
 
 #include "phase2.h"
 #include "phase3_cmp.h"

http://git-wip-us.apache.org/repos/asf/celix/blob/61a71138/examples/whiteboard/tracker_depman/private/src/dependency_activator.c
----------------------------------------------------------------------
diff --git a/examples/whiteboard/tracker_depman/private/src/dependency_activator.c b/examples/whiteboard/tracker_depman/private/src/dependency_activator.c
index 2e17daf..1ee279e 100644
--- a/examples/whiteboard/tracker_depman/private/src/dependency_activator.c
+++ b/examples/whiteboard/tracker_depman/private/src/dependency_activator.c
@@ -27,7 +27,7 @@
 #include <stdio.h>
 #include "celixbool.h"
 
-#include "dm_activator_base.h"
+#include "dm_activator.h"
 #include "publisher.h"
 #include "tracker.h"