Skip to content

Commit

Permalink
Merge branch 'master' into win32_stat_64
Browse files Browse the repository at this point in the history
  • Loading branch information
jwillemsen authored Jan 31, 2023
2 parents ee77bf7 + 8ab31e3 commit bbf593e
Show file tree
Hide file tree
Showing 7,470 changed files with 30,794 additions and 47,151 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
82 changes: 82 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: cmake

on:
push:
pull_request:
schedule:
- cron: '0 1 * * SUN'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-12
CXX: g++-12
PackageDeps: g++-12
os: ubuntu-22.04
- CC: vs2019
CXX: vs2019
os: windows-2019
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.CXX }}
env:
ACE_ROOT: ${{ github.workspace }}/ACE
MPC_ROOT: ${{ github.workspace }}/MPC
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
steps:
- name: checkout ACE/TAO
uses: actions/checkout@v3
- name: checkout MPC
uses: actions/checkout@v3
with:
repository: DOCGroup/MPC
path: ${{ env.MPC_ROOT }}
- name: Add Repo
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ ${{ matrix.Repo }} main"
if: matrix.Repo != ''
- name: Add packages
run: |
sudo apt-get --yes update
sudo apt-get --yes install ${{ matrix.PackageDeps }}
if: matrix.PackageDeps != ''
- name: create $ACE_ROOT/ace/config.h
run: |
'#ifdef linux' > ${env:ACE_ROOT}/ace/config.h
'# include "ace/config-linux.h"' >> ${env:ACE_ROOT}/ace/config.h
'#else' >> ${env:ACE_ROOT}/ace/config.h
'# include "ace/config-win32.h"' >> ${env:ACE_ROOT}/ace/config.h
'#endif' >> ${env:ACE_ROOT}/ace/config.h
shell: pwsh
- name: Run mwc.pl on $(ACE_ROOT)/ace/ace.mwc
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type cmake ${env:ACE_ROOT}/ace/ace.mwc -workers 6
shell: pwsh
- name: Run mwc.pl on $(ACE_ROOT)/apps/gperf/src
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type cmake ${env:ACE_ROOT}/apps/gperf/src
shell: pwsh
- name: Build ace project
run: |
cd ${env:ACE_ROOT}/ace
cmake -S . -B build
cmake --build build -j6
shell: pwsh
- name: Build ACE/apps/gperf/src project
run: |
cd ${env:ACE_ROOT}/apps/gperf/src
cmake -S . -B build
cmake --build build -j6
shell: pwsh
2 changes: 1 addition & 1 deletion .github/workflows/face.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
CXX: g++-10
PackageDeps: g++-10
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.CXX }} ${{ matrix.feature }}
env:
Expand Down
26 changes: 16 additions & 10 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,23 @@ jobs:
CXX: g++-7
PackageDeps: g++-7
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
CheckPkgConfig: 1
- CC: gcc-8
CXX: g++-8
PackageDeps: g++-8
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: gcc-9
CXX: g++-9
PackageDeps: g++-9
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: gcc-10
CXX: g++-10
PackageDeps: g++-10
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: gcc-11
CXX: g++-11
PackageDeps: g++-11
Expand All @@ -76,23 +76,23 @@ jobs:
CXX: clang++-6.0
PackageDeps: clang-6.0
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: clang-7
CXX: clang++-7
PackageDeps: clang-7
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: clang-8
CXX: clang++-8
PackageDeps: clang-8
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: clang-9
CXX: clang++-9
PackageDeps: clang-9
Repo: llvm-toolchain-$(lsb_release -cs)-9
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-18.04
os: ubuntu-20.04
- CC: clang-10
CXX: clang++-10
PackageDeps: clang-10
Expand Down Expand Up @@ -123,20 +123,26 @@ jobs:
Repo: llvm-toolchain-$(lsb_release -cs)-14
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-22.04
- CC: clang-15
CXX: clang++-15
PackageDeps: clang-15
Repo: llvm-toolchain-$(lsb_release -cs)-15
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
os: ubuntu-22.04
- feature: CORBA/e micro
CC: gcc-10
CXX: g++-10
PackageDeps: g++-10
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
optional_feature: corba_e_micro=1
optional_macros: corba_e_micro=1
- feature: CORBA/e compact
CC: gcc-10
CXX: g++-10
PackageDeps: g++-10
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
os: ubuntu-18.04
os: ubuntu-20.04
optional_feature: corba_e_compact=1
optional_macros: corba_e_compact=1
- feature: ACE for TAO
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ jobs:
- name: Install vcpkg
uses: lukka/run-vcpkg@v10
with:
vcpkgGitCommitId: f93ba152d55e1d243160e690bc302ffe8638358e
vcpkgGitCommitId: 94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
appendedCacheKey: ${{ matrix.name }}
runVcpkgInstall: true
- name: create $ACE_ROOT/ace/config.h
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ lib*.so*
lib*.dylib
*~
ipch/
*.vsidx

/ACE/ace/config.h
/ACE/bin/MakeProjectCreator/config/default.features
Expand All @@ -39,10 +40,13 @@ ipch/
/build
/ACE/build
/TAO/build
/MPC

*.o
*.res
*.opendb
*.VC.db*
*.tds
*.*codeanalysis*
read.lock
fileList.bin
117 changes: 4 additions & 113 deletions ACE/ACE-INSTALL.html
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,11 @@ <h2>Synopsis</h2>
<td>Maintains ACE on many platforms required for their ACE and
TAO service offerings. We support AIX,
Embarcadero C++ Builder,
Windows CE, MinGW, Microsoft Visual C++, GCC,
Cygwin, VxWorks 6.x (kernel and rtp), OpenVMS on IA64,
MinGW, Microsoft Visual C++, GCC,
Cygwin, VxWorks 6.x (kernel and rtp),
BlueCAT Linux, RedHat Linux, Fedora, MacOSX, Solaris,
SuSE Linux on IA32/EM64T/IA64, RTEMS, QNX, LynxOS,
HPUX on IA64, and Android.
SuSE Linux on IA32/EM64T/IA64, QNX, LynxOS,
and Android.
The Intel C++ compiler is supported on
Windows 32/64bit, Linux IA32/EM64T/IA64, MacOSX.
</td>
Expand Down Expand Up @@ -284,7 +284,6 @@ <h1><a name="aceinstall">Building and Installing ACE</a></h1>
<li><a href="#win32">Windows (including MinGW and Cygwin)</a></li>
<li><a href="#vxworks">VxWorks</a></li>
<li><a href="#android">Android</a></li>
<li><a href="#rtems">RTEMS</a></li>
</ul>

<h2>General Rules</h2>
Expand Down Expand Up @@ -2065,87 +2064,6 @@ <h1><a name="installnotes">Installation Notes</a></h1>
Please see the <a href="#NonStaticObjectManager">Non-static
ACE_Object_Manager</a> discussion below.</p><p>

</p></li><li><b>Windows CE</b><p>

Take a look at (<a href="docs/CE-status.txt">CE-status.txt</a>) for
up-to-date information about ACE on Windows CE and Windows Mobile.

</p></li><li><b> Solaris 7, 8, 9, and 10 using Sun ONE Studio 8 (C++ 5.5)
or higher, Centerline C++ 2.x, GNU gcc 2.95 and
later.</b><p>

All the source code and tests should build and run without any
problems on Solaris 7, 8, and 9 platforms using the above
Sun C++ compilers.

There are likely to be build problems with older versions or
different patchlevels of Sun C++. Likewise, on
Solaris with g++ you may need to use GNU as instead of
/usr/ccs/bin/as, if you want -gstabs+ and -pipe support.

Thanks to Susan Liebeskind &lt;[email protected]&gt;
for providing the following useful information:</p><p>

By default, ACE uses both the Solaris and POSIX thread
interface. To disable use of the Solaris thread interface, add
<code>-D_POSIX_PTHREAD_SEMANTICS</code> to the
<code>CFLAGS</code> in your
<code>$(ACE_ROOT)/include/makeinclude/platform_macros.GNU</code>.
See the Solaris Intro (3) man page for more information.</p><p>

To disable ACE thread support completely, build with the
<code>threads=0</code> make flag. See the <a href="#flags">Makefile Flags</a> section below for more
information on make flags.</p><p>

If you use g++ on Solaris 7, you might need to rebuild
it on a SunOS 5.7 (Solaris 7) host. Some versions of g++
provide replacements for system header files. The
replacements on older SunOS systems are not compatible with the
SunOS 5.7 system headers. </P>

</li><li><b>AIX</b><p>

ACE is currently supported on AIX 5.2 and higher using IBM's
Visual Age C++ 6 and XL C++ 7 compilers as well as g++ 3.2.</p><p>

The <code>ace/config-aix-5.x.h</code> file is recommended for all
compilers on all AIX 5L versions. The Asynchronous I/O functionality
is disabled by default because its use requires the system administrator
to explicitly enable it in the kernel using SMIT. If this has been
done and you want to enable asynchronous I/O support in ACE, add:
<code>#define ACE_HAS_AIO_CALLS</code> to your <code>config.h</code>
file before including <code>ace/config-aix-5.x.h</code>.</p><p>

The Visual Age 6.0.0.3 and 6.0.0.4 do have some bugs that makes
them unusable for building TAO. TAO has been tested with 6.0.0.12 and
had no problems with that version.</p><p>

For your <code>platform_macros.GNU</code> file, you should use
<code>platform_aix_ibm.GNU</code> when building ACE with any of the
IBM compilers and <code>platform_aix_g++.GNU</code> when building ACE
with g++.</p><p>

BTW, here's a technique from Rob Jordan &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;
that can reduce the size of the ACE libraries by about one
third, and can also be applied to applications. It works by
optimising the sharing of template functions, which are created
in an "unusual" way under AIX. It also speeds up
compilation.</p><p>

Here's how to optimise the ACE library generation:</p><p>

Look at the <a href="ace/GNUmakefile.ACE">ace/GNUmakefile.ACE</a>
in <code>$ACE_ROOT/ace</code>. Create a file called
<code>ACE_All_Src.cpp</code>, and add a line to #include
each of the source files
listed under <code>FILES=</code> in the GNUmakefile. Create a
file called <code>ACE_All_Tmp.h</code>
and add a line to #include each of the .h files listed under
<code>TEMPLATE_FILES=</code> in the GNUmakefile. Now update the
GNUmakefile so that
<code>FILES=ACE_All_Src</code> and
<code>TEMPLATE_FILES=ACE_All_Tmp</code>.</p><p>

</p></li><li><b><a name="Linux">Linux</a></b><p>

ACE has been ported to Linux on
Expand Down Expand Up @@ -2437,24 +2355,6 @@ <h1><a name="installnotes">Installation Notes</a></h1>
Under the current version of QNX RTP ACE fails if compiled with
inline=0 . </p><p>

</p></li><li><strong><a name="rtems">RTEMS</a></strong><p>

The support for RTEMS has been revived from version x.5.4. This version
was the first version that build again out of the box on RTEMS. Compilation
and testing was done for RTEMS with and without networking support. The
ACE GNU makefiles do automatically detect whether networking support
is available or not.

Besides the standard config.h/platform_macros.GNU file you will need
to set <code>RTEMS_MAKEFILE_PATH</code> to point to the location
of your RTEMS installation, see below for an example.</p>
<p><code>export RTEMS_MAKEFILE_PATH=/opt/rtems/CPU-rtems/BSP</code></p>
<p>
When building without network support you will need the ace_for_tao
subsetting functionality enabled. For this add <code>ace_for_tao = 1</code>
to your <code>bin/MakeProjectCreator/config</code> file and regenerate the
GNU makefiles as described <a href="#power">here</a>.</p><p>

</p></li><li><strong>PharLap ETS</strong><p>

ACE has been ported to Ardence's
Expand Down Expand Up @@ -2586,14 +2486,6 @@ <h2><a name="g++">Compiling ACE with GNU g++</a></h2>
<code>--prefix</code> option to <code>configure</code> instead
of hacking its output.<p>

</p></li><li>If you are getting weird link errors when building libACE
on Solaris you are probably using the GNU linker. Try using the
Sun linker (/usr/ccs/bin/ld) instead. Note that gcc first looks
for the GNU linker if it is installed along with gcc. The only
way to not use the GNU linker is to delete it from the
installation or to build your own compiler with no linker. Be
aware that you still need the libraries and includes of gcc.<p>

NOTE: if you do use the GNU linker, you might need to change
the <code>-G</code> flag to <code>-shared</code> in
the <code>SOFLAGS</code> definition in your
Expand Down Expand Up @@ -3004,7 +2896,6 @@ <h2>To create an Eclipse project for ACE from a local source distribution:</h2>
parameters when using include_env=1.
If possible, do not use it, but instead change your TAO
applications to use the ACE_ENV_ARG macros.
fast Enable -fast option, e.g., with Sun C++.
inline Enable ACE inlining. Some platforms enable inlining by
default, others do not.
optimize Enable optimization; see OCFLAGS and OCCFLAGS.
Expand Down
30 changes: 30 additions & 0 deletions ACE/ACEXML/apps/svcconf/ACEXML_XML_Svc_Conf_Parser.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include "../../../ace/Version.h"

1 VERSIONINFO
FILEVERSION ACE_MAJOR_VERSION,ACE_MINOR_VERSION,ACE_MICRO_VERSION,0
PRODUCTVERSION ACE_MAJOR_VERSION,ACE_MINOR_VERSION,ACE_MICRO_VERSION,0
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "FileDescription", "ACEXML_XML_Svc_Conf_Parser\0"
VALUE "FileVersion", ACE_VERSION "\0"
VALUE "InternalName", "ACEXML_XML_Svc_Conf_ParserDLL\0"
VALUE "LegalCopyright", "\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "ACEXML_XML_Svc_Conf_Parser.DLL\0"
VALUE "ProductName", "ACE\0"
VALUE "ProductVersion", ACE_VERSION "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
Loading

0 comments on commit bbf593e

Please sign in to comment.