aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2011-06-28 04:52:49 +1000
committerDavid Walter Seikel2011-06-28 04:52:49 +1000
commit5a5a5e8d35fb36151e3c687d728b0113a9f67234 (patch)
tree5b5f8baf951603c312c0cc96aee9f726fc3030f4
parentMake it compile. (diff)
downloadmeta-impy-5a5a5e8d35fb36151e3c687d728b0113a9f67234.zip
meta-impy-5a5a5e8d35fb36151e3c687d728b0113a9f67234.tar.gz
meta-impy-5a5a5e8d35fb36151e3c687d728b0113a9f67234.tar.bz2
meta-impy-5a5a5e8d35fb36151e3c687d728b0113a9f67234.tar.xz
Build libgpg-error and libgcrypt under linux, for OTR.
There is still a problem, the linux compile script (number 3) will bomb out at the link stage, but simply starting it again it runs fine. This was too much work, and it's way past my bed time. It works, so commiting it now, and fixing that problem later. Still could use some cleaning up to.
-rw-r--r--linden/indra/CMakeLists.txt7
-rw-r--r--linden/indra/cmake/libgcrypt.cmake4
-rw-r--r--linden/indra/cmake/libgpg-error.cmake4
-rw-r--r--linden/indra/libgcrypt/CMakeLists.txt52
-rw-r--r--linden/indra/libgpg-error/CMakeLists.txt46
-rw-r--r--linden/indra/libotr/CMakeLists.txt10
-rw-r--r--linden/indra/newview/CMakeLists.txt45
7 files changed, 129 insertions, 39 deletions
diff --git a/linden/indra/CMakeLists.txt b/linden/indra/CMakeLists.txt
index 2085ea1..e3b5fa8 100644
--- a/linden/indra/CMakeLists.txt
+++ b/linden/indra/CMakeLists.txt
@@ -46,7 +46,8 @@ endif (WINDOWS)
46# if off will use the systems libotr.so but won't be fully compatible with windows version 46# if off will use the systems libotr.so but won't be fully compatible with windows version
47set(STATIC_LIBOTR_ETC 1) 47set(STATIC_LIBOTR_ETC 1)
48 48
49add_subdirectory(${LIBS_OPEN_PREFIX}libotr) 49add_subdirectory(${LIBS_OPEN_PREFIX}libgpg-error)
50add_subdirectory(${LIBS_OPEN_PREFIX}libgcrypt)
50# [/$PLOTR$] 51# [/$PLOTR$]
51 52
52add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) 53add_subdirectory(${LIBS_OPEN_PREFIX}llaudio)
@@ -63,6 +64,10 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llvfs)
63add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) 64add_subdirectory(${LIBS_OPEN_PREFIX}llwindow)
64add_subdirectory(${LIBS_OPEN_PREFIX}llxml) 65add_subdirectory(${LIBS_OPEN_PREFIX}llxml)
65 66
67# [$PLOTR$]
68add_subdirectory(${LIBS_OPEN_PREFIX}libotr)
69# [/$PLOTR$]
70
66add_subdirectory(${LIBS_OPEN_PREFIX}lscript) 71add_subdirectory(${LIBS_OPEN_PREFIX}lscript)
67 72
68if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts) 73if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
diff --git a/linden/indra/cmake/libgcrypt.cmake b/linden/indra/cmake/libgcrypt.cmake
index 0134618..6ac93b9 100644
--- a/linden/indra/cmake/libgcrypt.cmake
+++ b/linden/indra/cmake/libgcrypt.cmake
@@ -1,8 +1,10 @@
1# -*- cmake -*- 1# -*- cmake -*-
2 2
3set(LIBGCRYPT_INCLUDE_DIRS 3set(LIBGCRYPT_INCLUDE_DIRS
4 ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2/include
4 ) 5 )
5 6
6set(LIBGCRYPT_LIBRARIES 7set(LIBGCRYPT_LIBRARIES
7 libgcrypt 8 ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2/lib
8 ) 9 )
10
diff --git a/linden/indra/cmake/libgpg-error.cmake b/linden/indra/cmake/libgpg-error.cmake
index 71deeaa..e2df9f7 100644
--- a/linden/indra/cmake/libgpg-error.cmake
+++ b/linden/indra/cmake/libgpg-error.cmake
@@ -1,8 +1,10 @@
1# -*- cmake -*- 1# -*- cmake -*-
2 2
3set(LIBGPG-ERROR_INCLUDE_DIRS 3set(LIBGPG-ERROR_INCLUDE_DIRS
4 ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0/include
4 ) 5 )
5 6
6set(LIBGPG-ERROR_LIBRARIES 7set(LIBGPG-ERROR_LIBRARIES
7 libgpg-error 8 ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0/lib
8 ) 9 )
10
diff --git a/linden/indra/libgcrypt/CMakeLists.txt b/linden/indra/libgcrypt/CMakeLists.txt
index 6c7446c..31c547f 100644
--- a/linden/indra/libgcrypt/CMakeLists.txt
+++ b/linden/indra/libgcrypt/CMakeLists.txt
@@ -2,6 +2,11 @@
2 2
3project(libgcrypt) 3project(libgcrypt)
4 4
5include(00-Common)
6include(libgpg-error)
7include(libgcrypt)
8include(Linking)
9
5if (WINDOWS) 10if (WINDOWS)
6 include_directories( 11 include_directories(
7 ../gpg.vs/inc.vs 12 ../gpg.vs/inc.vs
@@ -11,13 +16,6 @@ if (WINDOWS)
11 libgcrypt-1.2.2/mpi 16 libgcrypt-1.2.2/mpi
12 libgcrypt-1.2.2/mpi/generic 17 libgcrypt-1.2.2/mpi/generic
13 ) 18 )
14else (WINDOWS)
15 include_directories(
16 libgcrypt-1.2.2/src
17 libgcrypt-1.2.2/mpi
18 libgcrypt-1.2.2/mpi/generic
19 )
20endif (WINDOWS)
21 19
22set(libgcrypt_SOURCE_FILES 20set(libgcrypt_SOURCE_FILES
23 libgcrypt-1.2.2/src/ath.c 21 libgcrypt-1.2.2/src/ath.c
@@ -116,6 +114,46 @@ set_source_files_properties(${libgcrypt_HEADER_FILES}
116list(APPEND libgcrypt_SOURCE_FILES ${libgcrypt_HEADER_FILES}) 114list(APPEND libgcrypt_SOURCE_FILES ${libgcrypt_HEADER_FILES})
117 115
118add_library (libgcrypt ${libgcrypt_SOURCE_FILES}) 116add_library (libgcrypt ${libgcrypt_SOURCE_FILES})
117
118else (WINDOWS)
119
120include(ExternalProject)
121
122 include_directories(
123 ${LIBGPG-ERROR_INCLUDE_DIRS}
124 libgcrypt-1.2.2/src
125 libgcrypt-1.2.2/mpi
126 libgcrypt-1.2.2/mpi/generic
127 libgcrypt-1.2.2
128 )
129
130# Gotta fake a DOWNLOAD_COMMAND to work around a bug in cmake before 2.8.3.
131externalproject_add(EP_libgcrypt
132 DEPENDS EP_libgpg-error
133 DOWNLOAD_COMMAND ""
134 PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2
135 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2
136 CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix=<INSTALL_DIR> --with-gpg-error-prefix=${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0
137 BUILD_COMMAND ${MAKE}
138 BUILD_IN_SOURCE 1
139 INSTALL_COMMAND make install
140 )
141
142link_directories(${LIBGCRYPT_LIBRARIES})
143include_directories(${LIBGCRYPT_INCLUDE_DIRS})
144
145add_library(libgcrypt STATIC IMPORTED)
146
147set_target_properties(libgcrypt PROPERTIES
148 IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2/lib/libgcrypt.a
149 )
150
151# This wont work until 2.8.4 sigh
152#add_dependencies(libgcrypt EP_libgcrypt)
153
154endif (WINDOWS)
155
119target_link_libraries( 156target_link_libraries(
120 libgcrypt 157 libgcrypt
121 ) 158 )
159
diff --git a/linden/indra/libgpg-error/CMakeLists.txt b/linden/indra/libgpg-error/CMakeLists.txt
index 6548a83..a595ab8 100644
--- a/linden/indra/libgpg-error/CMakeLists.txt
+++ b/linden/indra/libgpg-error/CMakeLists.txt
@@ -2,17 +2,17 @@
2 2
3project(libgpg-error) 3project(libgpg-error)
4 4
5include(00-Common)
6include(libgpg-error)
7include(Linking)
8
5if (WINDOWS) 9if (WINDOWS)
10
6 include_directories( 11 include_directories(
7 ../gpg.vs/inc.vs 12 ../gpg.vs/inc.vs
8 ../gpg.vs/libgpg-error-1.1.vs/custom 13 ../gpg.vs/libgpg-error-1.1.vs/custom
9 libgpg-error-1.0/src 14 libgpg-error-1.0/src
10 ) 15 )
11else (WINDOWS)
12 include_directories(
13 libgpg-error-1.0/src
14 )
15endif (WINDOWS)
16 16
17set(libgpg-error_SOURCE_FILES 17set(libgpg-error_SOURCE_FILES
18 libgpg-error-1.0/src/code-from-errno.c 18 libgpg-error-1.0/src/code-from-errno.c
@@ -40,6 +40,42 @@ set_source_files_properties(${libgpg-error_HEADER_FILES}
40list(APPEND libgpg-error_SOURCE_FILES ${libgpg-error_HEADER_FILES}) 40list(APPEND libgpg-error_SOURCE_FILES ${libgpg-error_HEADER_FILES})
41 41
42add_library (libgpg-error ${libgpg-error_SOURCE_FILES}) 42add_library (libgpg-error ${libgpg-error_SOURCE_FILES})
43
44else (WINDOWS)
45
46include(ExternalProject)
47
48 include_directories(
49 libgpg-error-1.0/src
50 libgpg-error-1.0
51 )
52
53# Gotta fake a DOWNLOAD_COMMAND to work around a bug in cmake before 2.8.3.
54externalproject_add(EP_libgpg-error
55 DOWNLOAD_COMMAND ""
56 PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0
57 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0
58 CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix=<INSTALL_DIR>
59 BUILD_COMMAND ${MAKE}
60 BUILD_IN_SOURCE 1
61 INSTALL_COMMAND make install
62 )
63
64link_directories(${LIBGPG-ERROR_LIBRARIES})
65include_directories(${LIBGPG-ERROR_INCLUDE_DIRS})
66
67add_library(libgpg-error STATIC IMPORTED)
68
69#set_target_properties(libgpg-error PROPERTIES
70# IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0/lib/libgpg-error.a
71# )
72
73# This wont work until 2.8.4 sigh
74#add_dependencies(libgpg-error EP_libgpg-error)
75
76endif (WINDOWS)
77
43target_link_libraries( 78target_link_libraries(
44 libgpg-error 79 libgpg-error
45 ) 80 )
81
diff --git a/linden/indra/libotr/CMakeLists.txt b/linden/indra/libotr/CMakeLists.txt
index f81e71a..b9da8f1 100644
--- a/linden/indra/libotr/CMakeLists.txt
+++ b/linden/indra/libotr/CMakeLists.txt
@@ -1,5 +1,7 @@
1# -*- cmake -*- 1# -*- cmake -*-
2 2
3project(libgpg-error)
4project(libgcrypt)
3project(libotr) 5project(libotr)
4 6
5if (WINDOWS) 7if (WINDOWS)
@@ -12,7 +14,8 @@ if (WINDOWS)
12 ) 14 )
13else (WINDOWS) 15else (WINDOWS)
14 include_directories( 16 include_directories(
15 ../libgpg-error/libgpg-error-1.0/src 17 ${LIBGPG-ERROR_INCLUDE_DIRS}
18 ${LIBGCRYPT_INCLUDE_DIRS}
16 ../libgcrypt/libgcrypt-1.2.2/src 19 ../libgcrypt/libgcrypt-1.2.2/src
17 ) 20 )
18endif (WINDOWS) 21endif (WINDOWS)
@@ -56,6 +59,7 @@ set_source_files_properties(${libotr_HEADER_FILES}
56list(APPEND libotr_SOURCE_FILES ${libotr_HEADER_FILES}) 59list(APPEND libotr_SOURCE_FILES ${libotr_HEADER_FILES})
57 60
58add_library (libotr ${libotr_SOURCE_FILES}) 61add_library (libotr ${libotr_SOURCE_FILES})
59target_link_libraries( 62target_link_libraries(libotr
60 libotr 63 gcrypt
64 gpg-error
61 ) 65 )
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index e729e6c..cdc2a9a 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -15,6 +15,24 @@ include(HUNSPELL)
15include(FindOpenGL) 15include(FindOpenGL)
16include(JsonCpp) 16include(JsonCpp)
17include(LLAddBuildTest) 17include(LLAddBuildTest)
18
19# [$PLOTR$]
20include(libgpg-error)
21include(libgcrypt)
22
23if (WINDOWS)
24 include(libotr)
25 # on windows always build libotr from source and statically link in libgcrypt and libgpg-error
26endif (WINDOWS)
27if (DARWIN OR LINUX)
28 if (STATIC_LIBOTR_ETC)
29 include(libotr) # to build libotr from source and statically link in libgcrypt and libgpg-error
30 else (STATIC_LIBOTR_ETC)
31 include(libotrb)
32 endif (STATIC_LIBOTR_ETC)
33endif (DARWIN OR LINUX)
34# [/$PLOTR$]
35
18include(LLAudio) 36include(LLAudio)
19include(LLCharacter) 37include(LLCharacter)
20include(LLCommon) 38include(LLCommon)
@@ -43,23 +61,6 @@ if (WINDOWS)
43 include(CopyWinLibs) 61 include(CopyWinLibs)
44endif (WINDOWS) 62endif (WINDOWS)
45 63
46# [$PLOTR$]
47include(libgcrypt)
48include(libgpg-error)
49
50if (WINDOWS)
51 include(libotr)
52 # on windows always build libotr from source and statically link in libgcrypt and libgpg-error
53endif (WINDOWS)
54if (DARWIN OR LINUX)
55 if (STATIC_LIBOTR_ETC)
56 include(libotr) # to build libotr from source and statically link in libgcrypt and libgpg-error
57 else (STATIC_LIBOTR_ETC)
58 include(libotrb)
59 endif (STATIC_LIBOTR_ETC)
60endif (DARWIN OR LINUX)
61# [/$PLOTR$]
62
63include_directories( 64include_directories(
64 ${DBUSGLIB_INCLUDE_DIRS} 65 ${DBUSGLIB_INCLUDE_DIRS}
65 ${HUNSPELL_INCLUDE_DIR} 66 ${HUNSPELL_INCLUDE_DIR}
@@ -1072,13 +1073,13 @@ if (LINUX)
1072 # [$PLOTR$] 1073 # [$PLOTR$]
1073 if (STATIC_LIBOTR_ETC) # defined in .../linden/indra/CMakeLists.txt 1074 if (STATIC_LIBOTR_ETC) # defined in .../linden/indra/CMakeLists.txt
1074 set(viewer_LIBRARIES 1075 set(viewer_LIBRARIES
1075 Xinerama 1076 Xinerama
1076 gpg-error 1077 #gpg-error
1077 gcrypt # to build libotr from source and statically link in libgcrypt and libgpg-error 1078 #gcrypt # to build libotr from source and statically link in libgcrypt and libgpg-error
1078 ) 1079 )
1079 else (STATIC_LIBOTR_ETC) # below for dynamically linked, unmodified libotr 1080 else (STATIC_LIBOTR_ETC) # below for dynamically linked, unmodified libotr
1080 set(viewer_LIBRARIES 1081 set(viewer_LIBRARIES
1081 Xinerama 1082 Xinerama
1082 ) 1083 )
1083 endif (STATIC_LIBOTR_ETC) 1084 endif (STATIC_LIBOTR_ETC)
1084 # [/$PLOTR$] 1085 # [/$PLOTR$]
@@ -1449,6 +1450,8 @@ if (WINDOWS)
1449else (WINDOWS) 1450else (WINDOWS)
1450 if (STATIC_LIBOTR_ETC) 1451 if (STATIC_LIBOTR_ETC)
1451 set(otr_link_libs ${LIBOTR_LIBRARIES} 1452 set(otr_link_libs ${LIBOTR_LIBRARIES}
1453 ${LIBGCRYPT_LIBRARIES}
1454 ${LIBGPG-ERROR_LIBRARIES}
1452 ) # statically linked libotr, built from source 1455 ) # statically linked libotr, built from source
1453 else (STATIC_LIBOTR_ETC) 1456 else (STATIC_LIBOTR_ETC)
1454 set(otr_link_libs ${OTR_LIBRARY} 1457 set(otr_link_libs ${OTR_LIBRARY}