diff options
author | David Walter Seikel | 2011-06-28 04:52:49 +1000 |
---|---|---|
committer | David Walter Seikel | 2011-06-28 04:52:49 +1000 |
commit | 5a5a5e8d35fb36151e3c687d728b0113a9f67234 (patch) | |
tree | 5b5f8baf951603c312c0cc96aee9f726fc3030f4 | |
parent | Make it compile. (diff) | |
download | meta-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.txt | 7 | ||||
-rw-r--r-- | linden/indra/cmake/libgcrypt.cmake | 4 | ||||
-rw-r--r-- | linden/indra/cmake/libgpg-error.cmake | 4 | ||||
-rw-r--r-- | linden/indra/libgcrypt/CMakeLists.txt | 52 | ||||
-rw-r--r-- | linden/indra/libgpg-error/CMakeLists.txt | 46 | ||||
-rw-r--r-- | linden/indra/libotr/CMakeLists.txt | 10 | ||||
-rw-r--r-- | linden/indra/newview/CMakeLists.txt | 45 |
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 |
47 | set(STATIC_LIBOTR_ETC 1) | 47 | set(STATIC_LIBOTR_ETC 1) |
48 | 48 | ||
49 | add_subdirectory(${LIBS_OPEN_PREFIX}libotr) | 49 | add_subdirectory(${LIBS_OPEN_PREFIX}libgpg-error) |
50 | add_subdirectory(${LIBS_OPEN_PREFIX}libgcrypt) | ||
50 | # [/$PLOTR$] | 51 | # [/$PLOTR$] |
51 | 52 | ||
52 | add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) | 53 | add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) |
@@ -63,6 +64,10 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llvfs) | |||
63 | add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) | 64 | add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) |
64 | add_subdirectory(${LIBS_OPEN_PREFIX}llxml) | 65 | add_subdirectory(${LIBS_OPEN_PREFIX}llxml) |
65 | 66 | ||
67 | # [$PLOTR$] | ||
68 | add_subdirectory(${LIBS_OPEN_PREFIX}libotr) | ||
69 | # [/$PLOTR$] | ||
70 | |||
66 | add_subdirectory(${LIBS_OPEN_PREFIX}lscript) | 71 | add_subdirectory(${LIBS_OPEN_PREFIX}lscript) |
67 | 72 | ||
68 | if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts) | 73 | if (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 | ||
3 | set(LIBGCRYPT_INCLUDE_DIRS | 3 | set(LIBGCRYPT_INCLUDE_DIRS |
4 | ${CMAKE_CURRENT_SOURCE_DIR}/../libgcrypt/libgcrypt-1.2.2/include | ||
4 | ) | 5 | ) |
5 | 6 | ||
6 | set(LIBGCRYPT_LIBRARIES | 7 | set(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 | ||
3 | set(LIBGPG-ERROR_INCLUDE_DIRS | 3 | set(LIBGPG-ERROR_INCLUDE_DIRS |
4 | ${CMAKE_CURRENT_SOURCE_DIR}/../libgpg-error/libgpg-error-1.0/include | ||
4 | ) | 5 | ) |
5 | 6 | ||
6 | set(LIBGPG-ERROR_LIBRARIES | 7 | set(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 | ||
3 | project(libgcrypt) | 3 | project(libgcrypt) |
4 | 4 | ||
5 | include(00-Common) | ||
6 | include(libgpg-error) | ||
7 | include(libgcrypt) | ||
8 | include(Linking) | ||
9 | |||
5 | if (WINDOWS) | 10 | if (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 | ) |
14 | else (WINDOWS) | ||
15 | include_directories( | ||
16 | libgcrypt-1.2.2/src | ||
17 | libgcrypt-1.2.2/mpi | ||
18 | libgcrypt-1.2.2/mpi/generic | ||
19 | ) | ||
20 | endif (WINDOWS) | ||
21 | 19 | ||
22 | set(libgcrypt_SOURCE_FILES | 20 | set(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} | |||
116 | list(APPEND libgcrypt_SOURCE_FILES ${libgcrypt_HEADER_FILES}) | 114 | list(APPEND libgcrypt_SOURCE_FILES ${libgcrypt_HEADER_FILES}) |
117 | 115 | ||
118 | add_library (libgcrypt ${libgcrypt_SOURCE_FILES}) | 116 | add_library (libgcrypt ${libgcrypt_SOURCE_FILES}) |
117 | |||
118 | else (WINDOWS) | ||
119 | |||
120 | include(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. | ||
131 | externalproject_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 | |||
142 | link_directories(${LIBGCRYPT_LIBRARIES}) | ||
143 | include_directories(${LIBGCRYPT_INCLUDE_DIRS}) | ||
144 | |||
145 | add_library(libgcrypt STATIC IMPORTED) | ||
146 | |||
147 | set_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 | |||
154 | endif (WINDOWS) | ||
155 | |||
119 | target_link_libraries( | 156 | target_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 | ||
3 | project(libgpg-error) | 3 | project(libgpg-error) |
4 | 4 | ||
5 | include(00-Common) | ||
6 | include(libgpg-error) | ||
7 | include(Linking) | ||
8 | |||
5 | if (WINDOWS) | 9 | if (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 | ) |
11 | else (WINDOWS) | ||
12 | include_directories( | ||
13 | libgpg-error-1.0/src | ||
14 | ) | ||
15 | endif (WINDOWS) | ||
16 | 16 | ||
17 | set(libgpg-error_SOURCE_FILES | 17 | set(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} | |||
40 | list(APPEND libgpg-error_SOURCE_FILES ${libgpg-error_HEADER_FILES}) | 40 | list(APPEND libgpg-error_SOURCE_FILES ${libgpg-error_HEADER_FILES}) |
41 | 41 | ||
42 | add_library (libgpg-error ${libgpg-error_SOURCE_FILES}) | 42 | add_library (libgpg-error ${libgpg-error_SOURCE_FILES}) |
43 | |||
44 | else (WINDOWS) | ||
45 | |||
46 | include(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. | ||
54 | externalproject_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 | |||
64 | link_directories(${LIBGPG-ERROR_LIBRARIES}) | ||
65 | include_directories(${LIBGPG-ERROR_INCLUDE_DIRS}) | ||
66 | |||
67 | add_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 | |||
76 | endif (WINDOWS) | ||
77 | |||
43 | target_link_libraries( | 78 | target_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 | ||
3 | project(libgpg-error) | ||
4 | project(libgcrypt) | ||
3 | project(libotr) | 5 | project(libotr) |
4 | 6 | ||
5 | if (WINDOWS) | 7 | if (WINDOWS) |
@@ -12,7 +14,8 @@ if (WINDOWS) | |||
12 | ) | 14 | ) |
13 | else (WINDOWS) | 15 | else (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 | ) |
18 | endif (WINDOWS) | 21 | endif (WINDOWS) |
@@ -56,6 +59,7 @@ set_source_files_properties(${libotr_HEADER_FILES} | |||
56 | list(APPEND libotr_SOURCE_FILES ${libotr_HEADER_FILES}) | 59 | list(APPEND libotr_SOURCE_FILES ${libotr_HEADER_FILES}) |
57 | 60 | ||
58 | add_library (libotr ${libotr_SOURCE_FILES}) | 61 | add_library (libotr ${libotr_SOURCE_FILES}) |
59 | target_link_libraries( | 62 | target_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) | |||
15 | include(FindOpenGL) | 15 | include(FindOpenGL) |
16 | include(JsonCpp) | 16 | include(JsonCpp) |
17 | include(LLAddBuildTest) | 17 | include(LLAddBuildTest) |
18 | |||
19 | # [$PLOTR$] | ||
20 | include(libgpg-error) | ||
21 | include(libgcrypt) | ||
22 | |||
23 | if (WINDOWS) | ||
24 | include(libotr) | ||
25 | # on windows always build libotr from source and statically link in libgcrypt and libgpg-error | ||
26 | endif (WINDOWS) | ||
27 | if (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) | ||
33 | endif (DARWIN OR LINUX) | ||
34 | # [/$PLOTR$] | ||
35 | |||
18 | include(LLAudio) | 36 | include(LLAudio) |
19 | include(LLCharacter) | 37 | include(LLCharacter) |
20 | include(LLCommon) | 38 | include(LLCommon) |
@@ -43,23 +61,6 @@ if (WINDOWS) | |||
43 | include(CopyWinLibs) | 61 | include(CopyWinLibs) |
44 | endif (WINDOWS) | 62 | endif (WINDOWS) |
45 | 63 | ||
46 | # [$PLOTR$] | ||
47 | include(libgcrypt) | ||
48 | include(libgpg-error) | ||
49 | |||
50 | if (WINDOWS) | ||
51 | include(libotr) | ||
52 | # on windows always build libotr from source and statically link in libgcrypt and libgpg-error | ||
53 | endif (WINDOWS) | ||
54 | if (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) | ||
60 | endif (DARWIN OR LINUX) | ||
61 | # [/$PLOTR$] | ||
62 | |||
63 | include_directories( | 64 | include_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) | |||
1449 | else (WINDOWS) | 1450 | else (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} |