<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 6/25/19 2:17 PM, Serge Aleynikov wrote:<br>
<blockquote type="cite"
cite="mid:CANt451mOAuUD5UdahOE3MDScTh0oZdAe5MbEz2e6d3N_z1ZTiA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<div dir="ltr">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">When writing a
port driver the "driver_name" field in the ErlDrvEntry
structure is defined to match the name of the driver file.</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Is it possible
to name the driver file differently from what's specified in
the ErlDrvEntry?</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">I have two
architectures x86 and x64, and would like to distribute a
prebuilt library with my application in the 32 and 64 bit
flavors, and have the application choose the proper driver
filename depending on the target architecture of the host
machine. For this reason I am wondering if it's possible to
name a driver file as "myapp-x86" or "myapp-x64" with a driver
name field containing "myapp". Is that doable?</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Regards,</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Serge</div>
</div>
</blockquote>
Hi Serge,<br>
<br>
With the current Erlang/OTP source code, you can get this to work by
having driver_name be different for each file by using the
preprocessor to create the unique filename. You would effectively
be using the string "myapp-" #arch, though it would require a few
macros to expand properly (in the C/C++).<br>
<br>
Best Regards,<br>
Michael<br>
</body>
</html>