[PD-dev] Win32 - unicode support for files, with public API for externals
Hans-Christoph Steiner
hans at at.or.at
Tue Dec 18 04:40:03 CET 2012
On Dec 17, 2012, at 6:05 AM, IOhannes m zmoelnig wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 2012-12-17 10:55, IOhannes m zmoelnig wrote:
>> this makes packaging externals for e.g. Debian a nightmare, as it
>> basically should trigger a .so-name change, but since we are
>> linking against the application instead of an ordinary library, all
>> the tools that would detect such an incompatibility will fail.
>
> this is not only theoretical, but already happened: the Gem" binary as
> currently packaged in Debian cannot be loaded anymore with the
> git/master version of puredata.
>
>>
>>
>> so please revert the "#define sys_close close" stanzas.
>>
>>
>> instead i would ask you to provide sys_open() (and friends)
>> implementations in s_path, even for platforms where they are mere
>> wrappers around the system functions.
>
> i created a patch on sourceforge that implements sys_f?(open,close) on
> all platforms and thus re-establishes binary compatibility.
>
> the new functions are simply wrappers around the system open/close
> functions.
> the open wrappers also use sys_bashfilename (like the w32 version),
> which should be quite a noop on non-w32 platforms for now.
>
> see:
> https://sourceforge.net/tracker/?group_id=55736&atid=478072
I think this approach works. The patch you provided seems totally untested, as in not even compiled on GNU/Linux or Mac OS X. It includes the _close() function in sys_close() which only works on Win32 and it gives this warning when building on Mac OS X:
s_path.c: In function ‘sys_open’:
s_path.c:450: warning: ‘mode_t’ is promoted to ‘int’ when passed through ‘...’
s_path.c:450: warning: (so you should pass ‘int’ not ‘mode_t’ to ‘va_arg’)
s_path.c:450: note: if this code is reached, the program will abort
(I attached the patch for reference, it doesn't seem to be up on the patch tracker any more.)
.hc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-provide-sys_close-.-on-all-platforms.patch
Type: application/octet-stream
Size: 4308 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20121217/f210f0b0/attachment.obj>
More information about the Pd-dev
mailing list