[85130] trunk/dports/genealogy/geneweb

Ryan Schmidt ryandesign at macports.org
Sun Oct 9 21:32:00 PDT 2011


On Oct 9, 2011, at 19:12, bfulgham at macports.org wrote:

> Revision: 85130
>         http://trac.macports.org/changeset/85130
> Author:   bfulgham at macports.org
> Date:     2011-10-09 17:12:43 -0700 (Sun, 09 Oct 2011)
> Log Message:
> -----------
> Update to work properly under 64-bit operating systems. And to properly
> launch and run under the daemondo infrastructure.

> +platform darwin {
> +	if {${configure.build_arch} == "x86_64" || ${configure.build_arch} == "ppc64"} {
> +		patchfiles-append patch-64-bit
> +	}
> +}

> Added: trunk/dports/genealogy/geneweb/files/patch-64-bit
> ===================================================================
> --- trunk/dports/genealogy/geneweb/files/patch-64-bit	                        (rev 0)
> +++ trunk/dports/genealogy/geneweb/files/patch-64-bit	2011-10-10 00:12:43 UTC (rev 85130)
> @@ -0,0 +1,19 @@
> +*** src/iovalue.ml	2011-10-09 16:27:31.000000000 -0700
> +--- src/iovalue.ml	2011-10-09 16:31:55.000000000 -0700
> +***************
> +*** 10,16 ****
> +     read inside a value output by output_value (no headers) must
> +     match OCaml's input_value system (intern.c) *)
> +  
> +! value sizeof_long = Sys.word_size / 8;
> +  value sign_extend_shift = (sizeof_long - 1) * 8 - 1;
> +  value sign_extend x = (x lsl sign_extend_shift) asr sign_extend_shift;
> +  
> +--- 10,16 ----
> +     read inside a value output by output_value (no headers) must
> +     match OCaml's input_value system (intern.c) *)
> +  
> +! value sizeof_long = 32 / 8;
> +  value sign_extend_shift = (sizeof_long - 1) * 8 - 1;
> +  value sign_extend x = (x lsl sign_extend_shift) asr sign_extend_shift;

How does this figure in with the +universal variant?

If I read your patch correctly, previously, sizeof_long was based on Sys.word_size, which is presumably 32 or 64 depending on arch, thus sizeof_long being either 4 or 8. And now you've hardcoded it to 4. If that's correct and as you want it, then perhaps the patch should be applied in all circumstances, not just when build_arch is a 64-bit arch. It seems that would help for example if a G5 user with build_arch set to ppc tries to build a ppc ppc64 universal binary.



More information about the macports-dev mailing list