#464 OpenBSD support

puredata (375)

FIrst round of patches to add support for OpenBSD.


1 2 3 > >> (Page 1 of 3)
  • The best thing to do would be to make a single patch that includes everything needed for OpenBSD support.

  • That'd be ideal but since I'm not sure about the other changes (using config headers, etc.) I'm submitting what I know for certain that won't change depending on the approach.

    For example what should I do if alloca.h doesn't exist? In my git repo I have #ifdef HAVE_ALLOCA_H where the define is driven from autotools header check but I'm still unclear whether you want to use the headers or not (and the reason you might not want to do it since you're already using autotools).

    Happy to submit everything in one go if you can suggest what the best course of action is.

  • this patch is simple enough (almost trivial) as it only adds "#ifdef __OpenBSD__" to the clauses that are already handled by "__FreeBSD__".
    i don't see a reason to not include it (but of course this all depends on miller).

    small note on patches:
    - the patch doesn't apply here (`patch` thinks the diff is garbage)
    - Pd is developped in git; it would be great if you could generate your patches using git as well; see [1]
    - as for atomicity of patches: personally i think creating a (few) smaller patches is not a real problem; make sure that those patches are logical units rather than reflecting your iterative trial-and-error history to fix a problem. then attach all patch files to this ticket (rather than creating a new patchtracker-ticket for each file)

    [1] http://puredata.info/docs/developer/GitWorkflows/

  • @zmoelnig:

    The patch comes from git. My main concern is how to proceed with the other changes that require more changes than just extending an existing ifdef. For example the exclusion of alloca.h, etc.
    In my git clone I've modified configure to use config headers and so I can do ifdef HAVE_ALLOCA_H, etc. but I'm not sure if such patches will be accepted.
    The reason I've break them down is so they can be committed while I understand what your preference is.

  • if the patch comes from git, then please create a branch, commit to that and then create a patch-set using "git format-patch master".

    as for the HAVE_ALLOCA_H: if you don't instruct configure to write defines into config.h, it will add them to the CFLAGS, so that the compilation will still work. thus, no need to change the build-system.
    bear in mind though, that currently Pd uses to separate build-systems: .../configure.ac and .../src/configure.in (and .../src/makefile.nt); you might need to modify all 3 in order to get accepted (yes, it's a PITA)

  • I might be missing something but unless you add it manually I don't see where configures adds the HAVE_XXX to CFLAGS unless you do it manually.

    And src/makefile.in is processed by src/configure(.in) so only ../configure.ac and ../src/configure.in need to be modified.

    You have a pretty messed up build system.

  • #1 yes, the build-system is messed up (or rather, it is in a state of transition)

    #2 .../src/configure adds HAVE_foo to CPPFLAGS (and .../configure adds it to DEFS), which get expanded in the resp. makefiles (so technically you are right, they don't get added to CFLAGS)

    #3 i said "makefile.nt" and not "makefile.in", which is the 3rd(!) build-system that is there and which is used to build on w32 using MSVC.

  • I think you'll be safe only touching the ./configure.ac and Makefile.ams. Miller seems to want to hold only to the old, crufty src/configure.in build, but he doesn't use OpenBSD.

1 2 3 > >> (Page 1 of 3)


Cancel   Add attachments