libX11 configure.ac patch
Dear all, While trying to compile libX11 for nios2, I discovered that configure accidently thinks it is an os2 system (which is not the case). The failing code is a match on target_alias for *os2*. As my target_alias is nios2_linux, this also matches. I found this on 1.3.2 but verified that the same code is still present in git head. The patch below fixes this for me, but I can imagine people prefer to strengthen the match for os2 (not sure if changing *os2* to os2* will work, can't really verify that). In case further info is needed feel free to contact me directly. I am not on the list, just someone passing by to report a problem and solution. Best regards keep up the good work! Frans Index: libX11-1.3.2/configure.ac === --- libX11-1.3.2.orig/configure.ac 2010-11-05 10:30:33.825536983 +0100 +++ libX11-1.3.2/configure.ac 2010-11-05 10:31:25.913899269 +0100 @@ -202,6 +202,7 @@ # arch specific things WCHAR32=1 case $target_alias in + nios2*) os2=false ;; *os2*) os2=true ; WCHAR32=0 ;; *) ;; esac ___ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: libX11 configure.ac patch
On Fri, Nov 5, 2010 at 3:35 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: Dear all, While trying to compile libX11 for nios2, I discovered that configure accidently thinks it is an os2 system (which is not the case). The failing code is a match on target_alias for *os2*. As my target_alias is nios2_linux, this also matches. I found this on 1.3.2 but verified that the same code is still present in git head. The patch below fixes this for me, but I can imagine people prefer to strengthen the match for os2 (not sure if changing *os2* to os2* will work, can't really verify that). In case further info is needed feel free to contact me directly. I am not on the list, just someone passing by to report a problem and solution. Best regards keep up the good work! Frans Index: libX11-1.3.2/configure.ac === --- libX11-1.3.2.orig/configure.ac 2010-11-05 10:30:33.825536983 +0100 +++ libX11-1.3.2/configure.ac 2010-11-05 10:31:25.913899269 +0100 @@ -202,6 +202,7 @@ # arch specific things WCHAR32=1 case $target_alias in + nios2*) os2=false ;; *os2*) os2=true ; WCHAR32=0 ;; *) ;; esac I think the reason that *os2* was used is because the test is against $target_alias, and the os2 may be buried in the middle like i386-pc-os2-emx. I see three possible solutions: 1. Change to $target_os, in which case you can just test os2*. 2. Leave it as $target_alias, but change the test to *-os2*. 3. Special case nios2* as you've done here since it will catch the cpu type at the beginning. I think 1 is the most correct since really what we're trying to do is match the OS/2 operating system. Does the following work for you? diff --git a/configure.ac b/configure.ac index 5b79b43..6ec8bda 100644 --- a/configure.ac +++ b/configure.ac @@ -246,8 +246,8 @@ dnl AC_PATH_XTRA # arch specific things WCHAR32=1 -case $target_alias in - *os2*) os2=true ; WCHAR32=0 ;; +case $target_os in + os2*) os2=true ; WCHAR32=0 ;; *) ;; esac AC_SUBST(WCHAR32) Noticing now that this should really be testing $host_alias or $host_os since that's what you're building the package for. The $target* variables are really only applicable when you're building a cross compiler or something like that. That's orthogonal, but should be fixed. -- Dan ___ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: libX11 configure.ac patch
On Fri, Nov 5, 2010 at 6:16 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: 2010/11/5 Dan Nicholson dbn.li...@gmail.com: On Fri, Nov 5, 2010 at 3:35 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: Dear all, While trying to compile libX11 for nios2, I discovered that configure accidently thinks it is an os2 system (which is not the case). The failing code is a match on target_alias for *os2*. As my target_alias is nios2_linux, this also matches. I found this on 1.3.2 but verified that the same code is still present in git head. The patch below fixes this for me, but I can imagine people prefer to strengthen the match for os2 (not sure if changing *os2* to os2* will work, can't really verify that). In case further info is needed feel free to contact me directly. I am not on the list, just someone passing by to report a problem and solution. Best regards keep up the good work! Frans Index: libX11-1.3.2/configure.ac === --- libX11-1.3.2.orig/configure.ac 2010-11-05 10:30:33.825536983 +0100 +++ libX11-1.3.2/configure.ac 2010-11-05 10:31:25.913899269 +0100 @@ -202,6 +202,7 @@ # arch specific things WCHAR32=1 case $target_alias in + nios2*) os2=false ;; *os2*) os2=true ; WCHAR32=0 ;; *) ;; esac I think the reason that *os2* was used is because the test is against $target_alias, and the os2 may be buried in the middle like i386-pc-os2-emx. I see three possible solutions: 1. Change to $target_os, in which case you can just test os2*. 2. Leave it as $target_alias, but change the test to *-os2*. 3. Special case nios2* as you've done here since it will catch the cpu type at the beginning. I think 1 is the most correct since really what we're trying to do is match the OS/2 operating system. Does the following work for you? diff --git a/configure.ac b/configure.ac index 5b79b43..6ec8bda 100644 --- a/configure.ac +++ b/configure.ac @@ -246,8 +246,8 @@ dnl AC_PATH_XTRA # arch specific things WCHAR32=1 -case $target_alias in - *os2*) os2=true ; WCHAR32=0 ;; +case $target_os in + os2*) os2=true ; WCHAR32=0 ;; *) ;; esac AC_SUBST(WCHAR32) Thanks for your quick reply! This works for me. Actually I did expect this, as my target_os is not os2* so I should get the default case. The key question is: does this work for os2 systems (and I cannot test that) Me neither, but I think it should be safe. Clearly this is intended for OS/2 the operating system. Noticing now that this should really be testing $host_alias or $host_os since that's what you're building the package for. The $target* variables are really only applicable when you're building a cross compiler or something like that. That's orthogonal, but should be fixed. That's ok. Didn't mention this, but actually this happens when cross compiling so I should be using the target_* vars as I am cross compiling a lib for the target. (nios2 is not that fast, you do not want to compile big packages like X on it). Technically, when cross compiling --target is only needed when you are building a compiler. I.e., the system that you're targetting your code to be created for. --host defines what system you'll be running the binaries on. http://www.gnu.org/software/automake/manual/automake.html#Cross_002dCompilation Do you specify just --target when you build or also --host? -- Dan ___ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: libX11 configure.ac patch
2010/11/5 Dan Nicholson dbn.li...@gmail.com: On Fri, Nov 5, 2010 at 3:35 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: Dear all, While trying to compile libX11 for nios2, I discovered that configure accidently thinks it is an os2 system (which is not the case). The failing code is a match on target_alias for *os2*. As my target_alias is nios2_linux, this also matches. I found this on 1.3.2 but verified that the same code is still present in git head. The patch below fixes this for me, but I can imagine people prefer to strengthen the match for os2 (not sure if changing *os2* to os2* will work, can't really verify that). In case further info is needed feel free to contact me directly. I am not on the list, just someone passing by to report a problem and solution. Best regards keep up the good work! Frans Index: libX11-1.3.2/configure.ac === --- libX11-1.3.2.orig/configure.ac 2010-11-05 10:30:33.825536983 +0100 +++ libX11-1.3.2/configure.ac 2010-11-05 10:31:25.913899269 +0100 @@ -202,6 +202,7 @@ # arch specific things WCHAR32=1 case $target_alias in + nios2*) os2=false ;; *os2*) os2=true ; WCHAR32=0 ;; *) ;; esac I think the reason that *os2* was used is because the test is against $target_alias, and the os2 may be buried in the middle like i386-pc-os2-emx. I see three possible solutions: 1. Change to $target_os, in which case you can just test os2*. 2. Leave it as $target_alias, but change the test to *-os2*. 3. Special case nios2* as you've done here since it will catch the cpu type at the beginning. I think 1 is the most correct since really what we're trying to do is match the OS/2 operating system. Does the following work for you? diff --git a/configure.ac b/configure.ac index 5b79b43..6ec8bda 100644 --- a/configure.ac +++ b/configure.ac @@ -246,8 +246,8 @@ dnl AC_PATH_XTRA # arch specific things WCHAR32=1 -case $target_alias in - *os2*) os2=true ; WCHAR32=0 ;; +case $target_os in + os2*) os2=true ; WCHAR32=0 ;; *) ;; esac AC_SUBST(WCHAR32) Thanks for your quick reply! This works for me. Actually I did expect this, as my target_os is not os2* so I should get the default case. The key question is: does this work for os2 systems (and I cannot test that) Noticing now that this should really be testing $host_alias or $host_os since that's what you're building the package for. The $target* variables are really only applicable when you're building a cross compiler or something like that. That's orthogonal, but should be fixed. That's ok. Didn't mention this, but actually this happens when cross compiling so I should be using the target_* vars as I am cross compiling a lib for the target. (nios2 is not that fast, you do not want to compile big packages like X on it). Best regards, Frans ___ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: libX11 configure.ac patch
2010/11/5 Dan Nicholson dbn.li...@gmail.com: On Fri, Nov 5, 2010 at 6:16 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: 2010/11/5 Dan Nicholson dbn.li...@gmail.com: On Fri, Nov 5, 2010 at 3:35 AM, Frans Meulenbroeks fransmeulenbro...@gmail.com wrote: Dear all, While trying to compile libX11 for nios2, I discovered that configure accidently thinks it is an os2 system (which is not the case). The failing code is a match on target_alias for *os2*. As my target_alias is nios2_linux, this also matches. I found this on 1.3.2 but verified that the same code is still present in git head. The patch below fixes this for me, but I can imagine people prefer to strengthen the match for os2 (not sure if changing *os2* to os2* will work, can't really verify that). In case further info is needed feel free to contact me directly. I am not on the list, just someone passing by to report a problem and solution. Best regards keep up the good work! Frans Index: libX11-1.3.2/configure.ac === --- libX11-1.3.2.orig/configure.ac 2010-11-05 10:30:33.825536983 +0100 +++ libX11-1.3.2/configure.ac 2010-11-05 10:31:25.913899269 +0100 @@ -202,6 +202,7 @@ # arch specific things WCHAR32=1 case $target_alias in + nios2*) os2=false ;; *os2*) os2=true ; WCHAR32=0 ;; *) ;; esac I think the reason that *os2* was used is because the test is against $target_alias, and the os2 may be buried in the middle like i386-pc-os2-emx. I see three possible solutions: 1. Change to $target_os, in which case you can just test os2*. 2. Leave it as $target_alias, but change the test to *-os2*. 3. Special case nios2* as you've done here since it will catch the cpu type at the beginning. I think 1 is the most correct since really what we're trying to do is match the OS/2 operating system. Does the following work for you? diff --git a/configure.ac b/configure.ac index 5b79b43..6ec8bda 100644 --- a/configure.ac +++ b/configure.ac @@ -246,8 +246,8 @@ dnl AC_PATH_XTRA # arch specific things WCHAR32=1 -case $target_alias in - *os2*) os2=true ; WCHAR32=0 ;; +case $target_os in + os2*) os2=true ; WCHAR32=0 ;; *) ;; esac AC_SUBST(WCHAR32) Thanks for your quick reply! This works for me. Actually I did expect this, as my target_os is not os2* so I should get the default case. The key question is: does this work for os2 systems (and I cannot test that) Me neither, but I think it should be safe. Clearly this is intended for OS/2 the operating system. Noticing now that this should really be testing $host_alias or $host_os since that's what you're building the package for. The $target* variables are really only applicable when you're building a cross compiler or something like that. That's orthogonal, but should be fixed. That's ok. Didn't mention this, but actually this happens when cross compiling so I should be using the target_* vars as I am cross compiling a lib for the target. (nios2 is not that fast, you do not want to compile big packages like X on it). Technically, when cross compiling --target is only needed when you are building a compiler. I.e., the system that you're targetting your code to be created for. --host defines what system you'll be running the binaries on. http://www.gnu.org/software/automake/manual/automake.html#Cross_002dCompilation Do you specify just --target when you build or also --host? Both: from config.status: ac_cs_config='--build=x86_64-linux' '--host=nios2-linux' '--target=nios2-linux' Frans ___ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com