octave-maintainers
[Top][All Lists]
Advanced

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

Re: Result: Octave-UPM on Windows :-(


From: Ben Abbott
Subject: Re: Result: Octave-UPM on Windows :-(
Date: Sat, 10 Nov 2012 18:49:56 -0500

On Nov 10, 2012, at 6:06 PM, Alexander Hansen wrote:

> On 11/10/12 3:05 PM, Ben Abbott wrote:
>> 
>> On Nov 10, 2012, at 4:39 PM, Alexander Hansen wrote:
>> 
>>> On 11/10/12 1:59 PM, Ben Abbott wrote:
>>>> 
>>>> On Nov 10, 2012, at 12:44 PM, Benjamin Abbott wrote:
>>>> 
>>>>> On Nov 10, 2012, at 12:31 PM, Jordi Gutiérrez Hermoso <address@hidden> 
>>>>> wrote:
>>>>> 
>>>>>> On 10 November 2012 12:30, Alexander Hansen <address@hidden> wrote:
>>>>>>> On 11/10/12 10:14 AM, Jordi Gutiérrez Hermoso wrote:
>>>>>>>> On 10 November 2012 06:03, Jacob Dawid <address@hidden> wrote:
>>>>>>>>> The problem is that we are collecting experience with using VS and by 
>>>>>>>>> doing
>>>>>>>>> that we promote non-free software.
>>>>>>>> 
>>>>>>>> There's also a practical problem with distribution here, since given
>>>>>>>> Visual Studio's non-free nature, our users have to go and chase
>>>>>>>> additional libraries on their own, since we are not free to give them
>>>>>>>> those libraries ourselves.
>>>>>>>> 
>>>>>>>> A similar problem occurs with Xcode and free distribution on Mac OS X.
>>>>>>> 
>>>>>>> Except that Xcode *doesn't install libraries*.
>>>>>> 
>>>>>> It installs headers, right? What's in the "command line tools for
>>>>>> Xcode" that we can't distribute freely?
>>>>>> 
>>>>>> - Jordi G. H.
>>>>> 
>>>>> I've been meaning look at the copyright for the headers used by Xcode, 
>>>>> but keep forgetting.  Has anyone taken a peek?
>>>>> 
>>>>> Ben
>>>> 
>>>> I'm not sure which headers Octave uses when build on MacOS X.   I looked 
>>>> through several .h files in /usr/include to see what was there.  Some 
>>>> include a FSF copyright.
>>>> 
>>>>> This file is part of GCC.
>>>>> 
>>>>> GCC is free software; you can redistribute it and/or modify it under
>>>>> the terms of the GNU General Public License as published by the Free
>>>>> Software Foundation; either version 2, or (at your option) any later
>>>>> version.
>>>>> 
>>>>> GCC is distributed in the hope that it will be useful, but WITHOUT ANY
>>>>> WARRANTY; without even the implied warranty of MERCHANTABILITY or
>>>>> FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
>>>>> for more details.
>>>>> 
>>>>> You should have received a copy of the GNU General Public License
>>>>> along with GCC; see the file COPYING.  If not, write to the Free
>>>>> Software Foundation, 59 Temple Place - Suite 330, Boston, MA
>>>>> 02111-1307, USA.  */
>>>> 
>>>> Some a FreeBSD Copyright (?)
>>>> 
>>>>> // Copyright (c) 1993 The Regents of the University of California.
>>>>> // All rights reserved.
>>>>> //
>>>>> // This code is derived from software contributed to Berkeley by
>>>>> // Kent Williams and Tom Epperly.
>>>>> //
>>>>> //  Redistribution and use in source and binary forms, with or without
>>>>> //  modification, are permitted provided that the following conditions
>>>>> //  are met:
>>>>> 
>>>>> //  1. Redistributions of source code must retain the above copyright
>>>>> //  notice, this list of conditions and the following disclaimer.
>>>>> //  2. Redistributions in binary form must reproduce the above copyright
>>>>> //  notice, this list of conditions and the following disclaimer in the
>>>>> //  documentation and/or other materials provided with the distribution.
>>>>> 
>>>>> //  Neither the name of the University nor the names of its contributors
>>>>> //  may be used to endorse or promote products derived from this software
>>>>> //  without specific prior written permission.
>>>>> 
>>>>> //  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
>>>>> //  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
>>>>> //  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
>>>>> //  PURPOSE.
>>>> 
>>>> Some the Apple Public Source License (not GPL compatible)
>>>> 
>>>>> * This file contains Original Code and/or Modifications of Original Code
>>>>> * as defined in and that are subject to the Apple Public Source License
>>>>> * Version 2.0 (the 'License'). You may not use this file except in
>>>>> * compliance with the License. Please obtain a copy of the License at
>>>>> * http://www.opensource.apple.com/apsl/ and read it before using this
>>>>> * file.
>>>>> * 
>>>>> * The Original Code and all software distributed under the License are
>>>>> * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
>>>>> * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
>>>>> * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
>>>>> * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
>>>>> * Please see the License for the specific language governing rights and
>>>>> * limitations under the License.
>>>> 
>>>> Is there a way to determine which include files Octave uses ?
>>>> 
>>>> Ben
>>> 
>>> If you use --enable-dependency-tracking at configure time (I don't
>>> remember if that's default or not), that information gets cached in
>>> files in the build tree.
>> 
>> Forgive my ignorance, but after the build completes, how to I determine the 
>> dependencies?
>> 
>> Ben
>> 
>> 
> 
> No problem
> 
> What you're looking for is files with a ".Po" or ".Plo" extension.
> They're just text files, and have entries like:
> 
> main.o: main.c ../config.h ../libgnu/stdint.h \
>  /usr/bin/../lib/clang/4.1/include/stdint.h /usr/include/stdint.h \
>  ../libgnu/sys/types.h /usr/include/sys/types.h \
>  /usr/include/sys/appleapiopts.h /usr/include/sys/cdefs.h \
>  /usr/include/sys/_symbol_aliasing.h \
>  /usr/include/sys/_posix_availability.h /usr/include/machine/types.h \
>  /usr/include/i386/types.h /usr/include/i386/_types.h \
>  /usr/include/sys/_types.h /usr/include/machine/_types.h \
>  /usr/include/machine/endian.h /usr/include/i386/endian.h \
>  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
>  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/sys/_structs.h \
>  /usr/bin/../lib/clang/4.1/include/limits.h /usr/include/limits.h \
>  /usr/include/machine/limits.h /usr/include/i386/limits.h \
>  /usr/include/i386/_limits.h /usr/include/sys/syslimits.h \
>  /usr/include/inttypes.h /usr/include/_types.h \
>  ../libcruft/misc/f77-fcn.h ../libcruft/misc/quit.h ../libgnu/stdio.h \
>  /usr/include/stdio.h /usr/include/Availability.h \
>  /usr/include/AvailabilityInternal.h /usr/include/secure/_stdio.h \
>  /usr/include/secure/_common.h \
>  /usr/bin/../lib/clang/4.1/include/stdarg.h \
>  /usr/bin/../lib/clang/4.1/include/stddef.h ../libgnu/signal.h \
>  /usr/include/signal.h /usr/include/sys/signal.h \
>  /usr/include/machine/signal.h /usr/include/i386/signal.h \
>  /usr/include/i386/_structs.h /usr/include/machine/_structs.h \
>  /usr/include/mach/i386/_structs.h /usr/include/setjmp.h \
>  ../liboctave/lo-ieee.h octave.h
> 
> ../config.h:
> 
> ../libgnu/stdint.h:
> 
> /usr/bin/../lib/clang/4.1/include/stdint.h:
> 
> <...>
> 
> I believe the reiteration of the headers is to show what headers _they_
> drag in.
> 
> So it's pretty human-readable or processable via scripts.

Thanks.

I wrote a short script in Octave to locate the dependencies in /usr and then 
check to see if they were under the APSL, and not FreeBSD.  The APSL include 
files listed in my src/.deps/octave-main.Po are ...

/usr/include/Availability.h             
/usr/include/AvailabilityInternal.h     
/usr/include/AvailabilityMacros.h       
/usr/include/_structs.h                 
/usr/include/_types.h                   
/usr/include/architecture/i386/math.h   
/usr/include/crt_externs.h              
/usr/include/i386/_structs.h            
/usr/include/i386/_types.h              
/usr/include/i386/setjmp.h              
/usr/include/i386/signal.h              
/usr/include/libkern/_OSByteOrder.h     
/usr/include/libkern/i386/_OSByteOrder.h
/usr/include/mach/i386/_structs.h       
/usr/include/machine/_structs.h         
/usr/include/machine/_types.h           
/usr/include/machine/endian.h           
/usr/include/machine/setjmp.h           
/usr/include/machine/signal.h           
/usr/include/machine/types.h            
/usr/include/math.h                     
/usr/include/pthread.h                  
/usr/include/pthread_impl.h             
/usr/include/sched.h                    
/usr/include/setjmp.h                   
/usr/include/sys/_posix_availability.h  
/usr/include/sys/_select.h              
/usr/include/sys/_structs.h             
/usr/include/sys/_symbol_aliasing.h     
/usr/include/sys/_types.h               
/usr/include/sys/appleapiopts.h        

As I'm on a MacBook with MacPorts installed this list may not be the same as it 
would be for Fink.

I assume this means that distributing an Octave binary built this way is a 
violation of the GPL?

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]