<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin-top:0cm;
margin-right:0cm;
margin-bottom:8.0pt;
margin-left:0cm;
line-height:105%;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am working on the AIX port of the CMake. Something exists, but a large part is done using some flags, typically -expall and -G. These flag force AIX build chain to be more similar than Linux (e.g. use .so while AIX
use .a). Unfortunately, this solution has side effect and means no any software compiling on AIX using CMake will work on the standard AIX way.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am trying to educate CMake to work better on AIX (in a first time I focus on GCC). I change the 'CMAKE_SHARED_LIBRARY_SUFFIX' to ".a" and I adapt the 'CMAKE_${lang}_CREATE_SHARED_LIBRARY' to create first .so and then
use 'ar' to create .a. It works.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">However, a problem appears during linking: CMake transform -l and -L flag to direct link. So, it searches e.g. '../libMyLib.a' and I want '-L.. -lMyLib'. This puts a relative path to the executable (I see it with the
'dump' command), that is not the expected comportment. Do you know how to change this comportment ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Finally, I have huge troubles with 'dlopen'. In AIX, all symbols are not exported by default, export all makes side effect, and we need to export and import symbols to correctly use a shared library imported this way.
I do not find a way to make import/export automatically. As I know, libtools or configure mix a two passes compilation and some flag manually added.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Etienne Guesnet.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>