[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#763103: Aw: Re: Bug#763103: Enable building libphobos-dev package on hppa arch



> please could you document what was/is needed to build phobos on hppa?

As mentioned before, I've started to fix phobos on hppa, but am not finished yet.
Below you can see the current diff I'm using against gcc-4.9_4.9.1-16.
Right now enabling phobos has moved down on my priority list, because I'm working on enabling systemd on hppa as well, which I finally got to work.
So, I'm trying to bring those kernel/glibc patches for systemd upstream first before continuing on phobos.

By the way, the patch below fixes some parts of the phobos build, but then it seems to fail on a trivial const statement:
/build/gcc-4.9/gcc-4.9-4.9.1/src/libphobos/libdruntime/core/sys/posix/signal.d:479: error: divide by 0
Makefile:584: recipe for target 'gcc/gthreads/posix.o' failed
make[6]: *** [gcc/gthreads/posix.o] Error 1

Helge

diff -up ./debian/rules.defs.org ./debian/rules.defs
--- ./debian/rules.defs.org     2014-10-01 15:28:18.106770764 +0200
+++ ./debian/rules.defs 2014-10-01 15:29:16.326762926 +0200
@@ -811,12 +811,12 @@ ifeq ($(with_d)-$(with_separate_gdc),yes
 endif
 
 ifeq ($(with_d),yes)
-  libphobos_archs = amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+  libphobos_archs = amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 hppa
   ifneq (,$(filter $(DEB_TARGET_ARCH), $(libphobos_archs)))
     with_libphobos := yes
   endif
 
-  libphobos_no_cpus := alpha avr arm64 hppa ia64 m68k \
+  libphobos_no_cpus := alpha avr arm64 ia64 m68k \
        mips mipsel mips64 mips64el mipsn32 mipsn32el \
        powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64
   libphobos_no_systems := gnu kfreebsd-gnu
diff -up ./src/libphobos/libdruntime/core/sys/posix/sys/types.d.org ./src/libphobos/libdruntime/core/sys/posix/sys/types.d
--- ./src/libphobos/libdruntime/core/sys/posix/sys/types.d.org  2014-10-02 12:25:54.289864666 +0200
+++ ./src/libphobos/libdruntime/core/sys/posix/sys/types.d      2014-10-02 12:26:37.493861780 +0200
@@ -343,6 +343,18 @@ version (linux)
         enum __SIZEOF_PTHREAD_BARRIER_T = 20;
         enum __SIZEOF_PTHREAD_BARRIERATTR_T = 4;
     }
+    else version (HPPA)                /* FIXME */
+    {
+        enum __SIZEOF_PTHREAD_ATTR_T = 64;
+        enum __SIZEOF_PTHREAD_MUTEX_T = 48;
+        enum __SIZEOF_PTHREAD_MUTEXATTR_T = 8;
+        enum __SIZEOF_PTHREAD_COND_T = 48;
+        enum __SIZEOF_PTHREAD_CONDATTR_T = 8;
+        enum __SIZEOF_PTHREAD_RWLOCK_T = 56;
+        enum __SIZEOF_PTHREAD_RWLOCKATTR_T = 8;
+        enum __SIZEOF_PTHREAD_BARRIER_T = 32;
+        enum __SIZEOF_PTHREAD_BARRIERATTR_T = 8;
+    }
     else version (IA64)
     {
         enum __SIZEOF_PTHREAD_ATTR_T = 56;


Reply to: