[erlang-questions] port driver naming

Serge Aleynikov serge@REDACTED
Wed Jun 26 06:06:06 CEST 2019


Yes, I've worked around the issue with the compile-time defines that are
different for the 32 and 64 bit architectures.  However, it's not entirely
clear why there's a requirement for the driver name to match the file
name.  It seems that it would be more flexible to allow them to be
different.

On Tue, Jun 25, 2019 at 9:30 PM Michael Truog <mjtruog@REDACTED> wrote:

> On 6/25/19 2:17 PM, Serge Aleynikov wrote:
>
> When writing a port driver the "driver_name" field in the ErlDrvEntry
> structure is defined to match the name of the driver file.
>
> Is it possible to name the driver file differently from what's specified
> in the ErlDrvEntry?
>
> 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?
>
> Regards,
>
> Serge
>
> Hi Serge,
>
> 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++).
>
> Best Regards,
> Michael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190626/7d880c85/attachment.htm>


More information about the erlang-questions mailing list