4 # Note: in Android the linker is unable or unwilling to resolve
5 # dynamically using already loaded symbols. The libraries here
6 # have quite a few circular dependencies, and so the only way
7 # to make it work seems to be to have everything static.
10 egl/egl_client_config.c
11 egl/egl_client_context.c
13 egl/egl_client_get_proc.c
14 egl/egl_client_surface.c
15 ext/egl_brcm_driver_monitor_client.c
16 ext/egl_brcm_perf_monitor_client.c
17 ext/egl_brcm_global_image_client.c
18 ext/egl_brcm_flush_client.c
19 ext/egl_khr_image_client.c
20 ext/egl_khr_sync_client.c
21 ext/gl_oes_egl_image_client.c
22 ext/egl_khr_lock_surface_client.c
23 ext/ext_gl_debug_marker.c
24 common/khrn_int_image.c
25 common/khrn_int_util.c
27 common/khrn_client_global_image_map.c
28 common/linux/khrn_client_rpc_linux.c
29 common/linux/khrn_client_platform_linux.c
33 ext/egl_openmaxil_client.c
34 # ../vmcs_host/vc_vchi_dispmanx.c
35 ext/gl_oes_draw_texture_client.c
36 ext/gl_oes_query_matrix_client.c
37 ext/gl_oes_framebuffer_object.c
38 ext/gl_oes_map_buffer.c
39 ext/gl_oes_matrix_palette_client.c)
46 wf/wfc_client_stream.c
48 wf/wfc_client_server_api.c
50 common/openwfc/khrn_client_platform_openwfc.c)
52 common/khrn_client_pointermap.c
53 common/khrn_client_vector.c
54 common/khrn_int_hash.c
55 common/khrn_int_hash_asm.s
56 common/khrn_client_cache.c)
58 add_library(EGL ${SHARED} ${EGL_SOURCE})
59 add_library(GLESv2 ${SHARED} ${GLES_SOURCE})
60 add_library(OpenVG ${SHARED} ${VG_SOURCE})
61 add_library(WFC ${SHARED} ${WFC_SOURCE})
62 add_library(khrn_client ${CLIENT_SOURCE})
64 # TODO do we need EGL_static and GLESv2_static now that khrn_static exists?
65 add_library(EGL_static STATIC ${EGL_SOURCE})
66 add_library(GLESv2_static STATIC ${GLES_SOURCE})
67 add_library(khrn_static STATIC
68 ${EGL_SOURCE} ${GLES_SOURCE} ${VG_SOURCE} ${WFC_SOURCE} ${CLIENT_SOURCE})
71 include_directories (../../host_applications/linux/libs/sm )
73 add_definitions(-DKHRONOS_HAVE_VCSM)
76 target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
77 target_link_libraries(GLESv2 EGL khrn_client vcos)
78 target_link_libraries(WFC EGL)
79 target_link_libraries(OpenVG EGL)
81 install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
82 install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
84 # recommended names to use to avoid conflicts with mesa libs
85 add_library(brcmEGL ${SHARED} ${EGL_SOURCE})
86 add_library(brcmGLESv2 ${SHARED} ${GLES_SOURCE})
87 add_library(brcmOpenVG ${SHARED} ${VG_SOURCE})
88 add_library(brcmWFC ${SHARED} ${WFC_SOURCE})
90 target_link_libraries(brcmEGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
91 target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos)
92 target_link_libraries(brcmWFC brcmEGL)
93 target_link_libraries(brcmOpenVG brcmEGL)
95 install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION lib)