Skip to content

Commit

Permalink
Include major version number in library names
Browse files Browse the repository at this point in the history
Currently it is not possible to cleanly install multiple major version
of FreeRDP concurrently as some of the development libraries (.so files)
files can conflict.

This change renames all libraries to include the major version number in
the library name to fix this limitation.

The list of changed libraries:

libwinpr-tools.so -> libwinpr-tools2.so
libwinpr.so -> libwinpr2.so
libfreerdp.so -> libfreerdp2.so
libfreerdp-client.so -> libfreerdp-client2.so
libfreerdp-shadow.so -> libfreerdp-shadow2.so
libfreerdp-server.so ->  libfreerdp-server2.so
libfreerdp-shadow-subsystem.so -> libfreerdp-shadow-subsystem2.so
libuwac.so -> libuwac0.so

As the library names have changed, projects that use FreeRDP will need to
update their dependencies. -
If pkg-config or cmake find modules are used, reconfiguration might be
sufficient.

Fixes #3460
  • Loading branch information
bmiklautz committed Jan 16, 2017
1 parent e218dc0 commit bbb6bf6
Show file tree
Hide file tree
Showing 14 changed files with 16 additions and 8 deletions.
1 change: 1 addition & 0 deletions client/common/CMakeLists.txt
Expand Up @@ -57,6 +57,7 @@ endif()

add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})

set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
include_directories(${OPENSSL_INCLUDE_DIR})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
Expand Down
2 changes: 1 addition & 1 deletion client/freerdp-client.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
libs=-lfreerdp-client
libs=-lfreerdp-client@FREERDP_API_VERSION@

Name: FreeRDP client
Description: FreeRDP: A Remote Desktop Protocol Implementation
Expand Down
1 change: 1 addition & 0 deletions libfreerdp/CMakeLists.txt
Expand Up @@ -291,6 +291,7 @@ add_library(${MODULE_NAME} ${LIBFREERDP_SRCS})
add_definitions(${LIBFREERDP_DEFINITIONS})

set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR})

if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
Expand Down
2 changes: 1 addition & 1 deletion libfreerdp/freerdp.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
libs=-lfreerdp
libs=-lfreerdp@FREERDP_API_VERSION@

Name: FreeRDP
Description: FreeRDP: A Remote Desktop Protocol Implementation
Expand Down
1 change: 1 addition & 0 deletions server/common/CMakeLists.txt
Expand Up @@ -54,6 +54,7 @@ if (WIN32)
endif()

add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})

if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
Expand Down
2 changes: 1 addition & 1 deletion server/freerdp-server.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
libs=-lfreerdp-server
libs=-lfreerdp-server@FREERDP_API_VERSION@

Name: FreeRDP server
Description: FreeRDP: A Remote Desktop Protocol Implementation
Expand Down
2 changes: 2 additions & 0 deletions server/shadow/CMakeLists.txt
Expand Up @@ -81,6 +81,7 @@ list(APPEND ${MODULE_PREFIX}_LIBS rdtk)

target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})

set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
endif()
Expand Down Expand Up @@ -284,6 +285,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-shadow freerdp winpr)

target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})

set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
endif()
Expand Down
4 changes: 2 additions & 2 deletions server/shadow/freerdp-shadow.pc.in
Expand Up @@ -2,14 +2,14 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
libs=-lfreerdp-shadow -lfreerdp-shadow-subsystem
libs=-lfreerdp-shadow@FREERDP_API_VERSION@ -lfreerdp-shadow-subsystem@FREERDP_API_VERSION@

Name: FreeRDP shadow
Description: FreeRDP: A Remote Desktop Protocol Implementation
URL: http://www.freerdp.com/
Version: @FREERDP_VERSION@
Requires:
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_VERSION_MAJOR@
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_API_VERSION@
Libs: -L${libdir} ${libs}
Libs.private: -ldl -lpthread
Cflags: -I${includedir}
1 change: 1 addition & 0 deletions uwac/libuwac/CMakeLists.txt
Expand Up @@ -64,6 +64,7 @@ set(${MODULE_PREFIX}_SRCS
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})


set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${UWAC_API_VERSION})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${UWAC_VERSION} SOVERSION ${UWAC_API_VERSION})
endif()
Expand Down
2 changes: 1 addition & 1 deletion uwac/uwac.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@UWAC_INCLUDE_DIR@
libs=-luwac
libs=-luwac@UWAC_VERSION_MAJOR@

Name: uwac
Description: uwac: using wayland as a client
Expand Down
1 change: 1 addition & 0 deletions winpr/libwinpr/CMakeLists.txt
Expand Up @@ -120,6 +120,7 @@ endif()

add_library(${MODULE_NAME} ${WINPR_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${WINPR_API_VERSION})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION} SOVERSION ${WINPR_API_VERSION})
endif()
Expand Down
1 change: 1 addition & 0 deletions winpr/tools/CMakeLists.txt
Expand Up @@ -104,6 +104,7 @@ endif()

add_library(${MODULE_NAME} ${WINPR_TOOLS_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${WINPR_TOOLS_API_VERSION})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_TOOLS_VERSION} SOVERSION ${WINPR_TOOLS_API_VERSION})
endif()
Expand Down
2 changes: 1 addition & 1 deletion winpr/tools/winpr-tools.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@WINPR_INCLUDE_DIR@
libs=-lwinpr-tools
libs=-lwinpr-tools@WINPR_TOOLS_API_VERSION@

Name: WinPR
Description: WinPR: Windows Portable Runtime
Expand Down
2 changes: 1 addition & 1 deletion winpr/winpr.pc.in
Expand Up @@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@WINPR_INCLUDE_DIR@
libs=-lwinpr
libs=-lwinpr@WINPR_API_VERSION@

Name: WinPR
Description: WinPR: Windows Portable Runtime
Expand Down

0 comments on commit bbb6bf6

Please sign in to comment.