Skip to content

Commit

Permalink
[#780] [V70000] Merge GT.M V7.0-000 into YottaDB mainline (with confl…
Browse files Browse the repository at this point in the history
…icts)

* This commit was created using the following commands.

  ```
  git cherry-pick tags/V7.0-000
  git commit -an -S -m '[#780] [V70000] Merge GT.M V7.0-000 into YottaDB mainline (with conflicts)'
  ```

* All merge conflicts are left as is in this commit will be resolved manually in a future commit.

* No copyright changes done in this commit (hence the `-n` use in `git commit` above) since this
  was an automatically generated commit.
  • Loading branch information
nars1 committed May 19, 2023
1 parent f0f5ce4 commit 56d9dc9
Show file tree
Hide file tree
Showing 709 changed files with 76,800 additions and 26,441 deletions.
65 changes: 63 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,15 @@ foreach(lang ${languages})
endforeach()

# Defaults
<<<<<<< HEAD
set(version r139)
=======
set(version ${V7.0-000})
if("${version}" STREQUAL "")
set(version V9.9-0)
endif()

>>>>>>> 451ab477 (GT.M V7.0-000)
# If CMAKE_BUILD_TYPE is not defined make it a Release build
if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Build type" FORCE)
Expand Down Expand Up @@ -228,6 +236,7 @@ endmacro()

#-----------------------------------------------------------------------------

<<<<<<< HEAD
# Assign sources to executables.
set_source_list(gtm_threadgbl_deftypes gtm_threadgbl_deftypes)
set_source_list(dbcertify dbcertify dlopen_libyottadb)
Expand All @@ -248,6 +257,35 @@ set_source_list(lke lke dlopen_libyottadb)
set_source_list(yottadb gtm dlopen_libyottadb)
set_source_list(mupip mupip dlopen_libyottadb)
set_source_list(semstat2 semstat2)
=======
# Assign sources to libraries.
load_source_list(libcmisockettcp sr_unix_gnp/libcmisockettcp.list)
load_source_list(libdse sr_unix/libdse.list)
load_source_list(libgnpclient sr_unix_gnp/libgnpclient.list)
load_source_list(libgnpserver sr_unix_gnp/libgnpserver.list)
load_source_list(libgtcm sr_unix_cm/libgtcm.list)
load_source_list(liblke sr_unix/liblke.list)
load_source_list(libmupip sr_unix/libmupip.list)
load_source_list(libstub sr_unix/libstub.list)

# Assign sources to executables.
set_source_list(gtm_threadgbl_deftypes gtm_threadgbl_deftypes)
set_source_list(dse dse dse_cmd)
set_source_list(gtcm_gnp_server gtcm_gnp_server)
set_source_list(gtcm_pkdisp gtcm_pkdisp)
set_source_list(gtcm_play gtcm_play omi_srvc_xct)
set_source_list(gtcm_server gtcm_main omi_srvc_xct)
set_source_list(gtcm_shmclean gtcm_shmclean)
set_source_list(gtmsecshr gtmsecshr_wrapper)
set_source_list(gtmsecshr_real gtmsecshr)
set_source_list(libgtmcrypt gtmcrypt_ref gtmcrypt_pk_ref gtmcrypt_dbk_ref gtmcrypt_sym_ref gtmcrypt_util)
set_source_list(libgtmtls gtm_tls_impl gtmcrypt_util)
set_source_list(libgtmshr gtm_main)
set_source_list(lke lke lke_cmd)
set_source_list(maskpass maskpass gtmcrypt_util)
set_source_list(mumps gtm)
set_source_list(mupip mupip mupip_cmd)
>>>>>>> 451ab477 (GT.M V7.0-000)

#-----------------------------------------------------------------------------
# libmumps gets leftover sources, so compute the remaining list.
Expand Down Expand Up @@ -400,6 +438,17 @@ endforeach()
add_custom_target(gen_export DEPENDS ydbexe_symbols.export yottadb_symbols.export)

foreach(lib
<<<<<<< HEAD
=======
gtcm
cmisockettcp
gnpclient
gnpserver
dse
lke
mupip
stub
>>>>>>> 451ab477 (GT.M V7.0-000)
mumps
${extralibs}
)
Expand Down Expand Up @@ -434,11 +483,16 @@ add_executable(yottadb ${yottadb_SOURCES})
add_executable(dse ${dse_SOURCES})
list(APPEND with_export dse)

<<<<<<< HEAD
add_executable(dbcertify ${dbcertify_SOURCES})

add_executable(gtmsecshr ${gtmsecshr_SOURCES})
target_link_libraries(gtmsecshr libmumps) # needed for static linking since this is a setuid executable
# and does not do a dlopen of libyottadb.so
=======
add_executable(gtmsecshr ${gtmsecshr_SOURCES})
add_dependencies(gtmsecshr gen_gtm_threadgbl_deftypes)
>>>>>>> 451ab477 (GT.M V7.0-000)

add_executable(gtmsecshr_real ${gtmsecshr_real_SOURCES})
set_target_properties(gtmsecshr_real PROPERTIES
Expand Down Expand Up @@ -468,6 +522,7 @@ add_executable(gtcm_pkdisp ${gtcm_pkdisp_SOURCES})

add_executable(gtcm_shmclean ${gtcm_shmclean_SOURCES})

<<<<<<< HEAD
add_executable(semstat2 ${semstat2_SOURCES})

add_executable(ftok ${ftok_SOURCES})
Expand All @@ -478,6 +533,14 @@ target_link_libraries(libyottadb libmumps)
set_target_properties(libyottadb PROPERTIES
LINK_FLAGS "${libyottadb_link} -Wl,-Map=libyottadb.map"
LINK_DEPENDS "${libyottadb_dep}"
=======
add_library(libgtmshr MODULE ${libgtmshr_SOURCES})
set_property(TARGET libgtmshr PROPERTY OUTPUT_NAME gtmshr)
target_link_libraries(libgtmshr libmumps libgnpclient libcmisockettcp)
set_target_properties(libgtmshr PROPERTIES
LINK_FLAGS "${libgtmshr_link}"
LINK_DEPENDS "${libgtmshr_dep}"
>>>>>>> 451ab477 (GT.M V7.0-000)
)
add_dependencies(libyottadb gen_export)
add_dependencies(yottadb libyottadb)
Expand All @@ -491,8 +554,6 @@ install(TARGETS
gtcm_pkdisp
gtcm_play
gtcm_shmclean
semstat2
ftok
gtmsecshr
mupip
libyottadb
Expand Down
8 changes: 8 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<<<<<<< HEAD
All software in this package is part of YottaDB (http://yottadb.com) each file of which contains notices from its copyright holders. YottaDB is provided to you under the terms of a license that you must comply with. If there is a COPYING file included in this package, it contains the terms of the license under which the package is provided to you.

If there is not a COPYING file in the package, you must do one of the following:
Expand All @@ -12,3 +13,10 @@ With free / open source software, the question arises from time to time as to wh
This clarification is the same as that which also has been made on multiple occasions (e.g., https://groups.google.com/d/msg/hardhats/A4qV-L4ZCjk/xf4fBWm2iisJ) by the upstream GT.M project.

If you submit source code you would like YottaDB to include, please ensure that you understand and agree with the above clarification.
=======
All software in this package is part of FIS GT.M (http://fis-gtm.com) which is Copyright 2021 Fidelity Information
Services, Inc., and provided to you under the terms of a license. If there is a COPYING file included in this package,
it contains the terms of the license under which the package is provided to you. If there is not a COPYING file in the
package, you must ensure that your use of FIS GT.M complies with the license under which it is provided. If you are
unsure as to the terms of your license, please consult with the entity that provided you with the package.
>>>>>>> 451ab477 (GT.M V7.0-000)
80 changes: 80 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
All software in this package is part of FIS GT.M (http://fis-gtm.com)
which is Copyright 2021 Fidelity Information Services, Inc., and
provided to you under the terms of a license. If there is a COPYING
file included in this package, it contains the terms of the license under
which the package is provided to you. If there is not a COPYING file in
the package, you must ensure that your use of FIS GT.M complies with the
license under which it is provided. If you are unsure as to the terms of
your license, please consult with the entity that provided you with the
package.

GT.M relies on CMake to generate the Makefiles to build GT.M from source. The
prerequisites are CMake (at least 2.8.5), GNU make (at least 3.81), Linux
(either x86 or x86_64), libraries and development files for libz, Unicode(R),
OpenSSL and GPG. Debian 7, Ubuntu 12.04/14.04 LTS and RHEL 6.0 were used to do
the test builds for this distribution. The default ICU and GPG packages were
taken from the distribution repositories.

To build GT.M for Linux, do the following steps:

1. Fulfill the pre-requisites
Install developement libraries
cmake tcsh {libconfig,libelf,libgcrypt,libgpg-error,libgpgme11,libicu,libncurses,libssl,zlib1g}-dev
There may be other library dependencies or the packages may have different names
If CMake issues a NOTFOUND error, please see the FAQ below.

2. Unpack the GT.M sources
The GT.M source tarball extracts to a directory with the version number in
the name, fis-gtm-V7.0-000
$ tar xfz fis-gtm-V7.0-000.tar.gz
$ cd fis-gtm-V7.0-000

You should find this README, LICENSE, COPYING and CMakeLists.txt file and
sr_* source directories.

3. Building GT.M -
<fis-gtm-build> can be a sub directory of the source directory,
fis-gtm-V7.0-000, or any other valid path.

$ mkdir <fis-gtm-build>
$ cd <fis-gtm-build>

# [optional] If you installed GT.M, provide the directory path to cmake
# -D GTM_DIST:PATH=$gtm_dist
#
# By default the build produces release versions of GT.M. To build a debug
# version of GT.M supply the following parameter to cmake
# -D CMAKE_BUILD_TYPE=DEBUG
#
# Note that the cmake install does not create the final installed GT.M.
# Instead, it stages GT.M for distribution. Change the CMAKE_INSTALL_PREFIX
# to place the staged files in a local directory. To install GT.M, you must
# cd to that installed directory and execute the configure script.
#
# -D CMAKE_INSTALL_PREFIX:PATH=${PWD}/package
#
$ cmake -D CMAKE_INSTALL_PREFIX:PATH=${PWD}/package <path to>/fis-gtm-V7.0-000

$ make

$ make install

$ cd package/lib/fis-gtm/V7.0-000_x86_64

# Now you are ready to install GT.M. Answer a few questions and install it.
# The recommended installation path is /opt/fis-gtm/V7.0-000_x86_64

$ sudo ./configure

$ make clean

4. Packaging GT.M -
Create a tar file from the installed directory

FAQ:
- The CMake build fails with the following message followed by one or more cases.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
This indicates that required libraries are not found. Please consult the list
of libraries and check your distributions package manager.

Loading

0 comments on commit 56d9dc9

Please sign in to comment.