1# [Erlang Corba](https://www.erlang.org) 2 3The corba repository contains a set of Erlang applications, that implements a CORBA compliant 4Object Request Broker (ORB) and a number of Object Managemnt Group (OMG) standard services. 5 6## Applications 7 8The following applications are a part of the corba package. 9 10* Orber - the Object Request Broker and the naming service (CosNaming) 11* Ic - IDL compiler 12* CosEvent - event service 13* CosEventDomain - event domain service (management of clusters of information channels) 14* CosNotification - notification service 15* CosTime - time service 16* CosTransaction - transaction service 17* CosProperty - property service 18* CosFileTransfer - file transfer service 19 20## Build 21### Prerequisites 22 23In order to build the `corba` applications, an OTP source tree of at least 24version 21.0.3 is needed. This since `corba` utilize the OTP build system. 25 26``` 27git clone https://github.com/erlang/otp.git 28cd otp 29./otp_build autoconf 30./configure 31make # Can be skipped if you have a prebuilt OTP (see below) 32``` 33 34If you already have an installed OTP installation of the same release, you can 35use that one instead of building OTP in the source tree. Note that you still 36*need* to `configure` the source tree. Ensure that the already installed OTP 37is available in the `PATH`. The recommended approach is however to build the 38OTP source tree. 39 40In order to cross compile `corba` the OTP source tree should be configured for 41the cross compilation. For more info on cross compilation of Erlang/OTP see 42the document [Cross Compiling Erlang/OTP](http://erlang.org/doc/installation_guide/INSTALL-CROSS.html). 43 44### Compiling the source 45 46The environment variable `ERL_TOP` *need* to be set to the OTP source path 47and then it's possible to compile corba from the source with the following 48commands. 49 50``` 51export ERL_TOP=<OTP source path> 52 53git clone https://github.com/erlang/corba.git 54cd corba 55make 56``` 57 58To release the applications set the `RELEASE_ROOT` to a directory of choice and 59the run the following command. 60 61``` 62make release RELEASE_ROOT=<install path> 63``` 64 65And you will get the following structure there so for exmaple the 66environment variable `ERL_LIBS`can be used to get the application into the 67code path (`export ERL_LIBS=<my corba release path>/lib`). 68 69``` 70lib/ 71 orber-<vsn>/ 72 cosEvent-<vsn>/ 73 cosEventDomain-<vsn>/ 74 : 75 : 76 : 77``` 78 79You can also install the `corba` applications directly into an existing 80OTP installation either by using the `release` target or the `install` 81target. When using the `install` target the `corba` installation will 82use the same installation directory as configured in the OTP source tree. 83 84### The documentation build 85 86The documentation is build with the following commands. 87 88``` 89cd corba 90make docs 91``` 92 93To release it, set the `RELEASE_ROOT` to a directory of choice and 94the run the following commands. 95 96``` 97make release_docs RELEASE_ROOT=<install path> 98``` 99 100This gives the following structure on the release path, where 101the top index is `doc/index.html`. 102 103``` 104COPYRIGHT 105doc/ 106lib/ 107 orber-<vsn>/ 108 cosEvent-<vsn>/ 109 cosEventDomain-<vsn>/ 110 : 111 : 112 : 113README.md 114``` 115 116If you want to install the documentation into an existing OTP installation 117you first have to build the documentation in the OTP source tree used 118for building. After that, you can install the `corba` applications docs directly 119into the OTP installation either by using the `release_docs` target or the 120`install-docs` target. When using the `install-docs` target the `corba` 121installation will use the same installation directory as configured in the 122OTP source tree. 123 124## Versions and tags 125 126There is only one version for all applications included in the corba repository. 127This means that if one uses the tag `4.5` then all the included applications 128have that version, e.g. `orber-4.5`, `cosEvent-4.5` etc. 129 130## Bug Reports 131 132Please visit [bugs.erlang.org](https://bugs.erlang.org/issues/?jql=project%20%3D%20ERL) for 133reporting bugs. The instructions for submitting bugs reports [can be found here](https://github.com/erlang/otp/wiki/Bug-reports). 134 135### Security Disclosure 136 137We take security bugs in our applications seriously. Please disclose the issues regarding 138security by sending an email to **erlang-security [at] erlang [dot] org** and not by creating a 139public issue. 140 141## Contributing 142 143We are grateful to the community for contributing bug fixes and improvements. 144Contribution to the corba applications follow the same process as for Erlang/OTP. 145We appreciate your help! 146 147## License 148 149Erlang/Corba is released under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0). 150 151> %CopyrightBegin% 152> 153> Copyright Ericsson AB 2018. All Rights Reserved. 154> 155> Licensed under the Apache License, Version 2.0 (the "License"); 156> you may not use this file except in compliance with the License. 157> You may obtain a copy of the License at 158> 159> http://www.apache.org/licenses/LICENSE-2.0 160> 161> Unless required by applicable law or agreed to in writing, software 162> distributed under the License is distributed on an "AS IS" BASIS, 163> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 164> See the License for the specific language governing permissions and 165> limitations under the License. 166> 167> %CopyrightEnd% 168