Re: [swift-users] SwiftPM: import ncurses -> conflicting types

2017-01-02 Thread Karl via swift-users
It’s even easier than that…

import Darwin.ncurses ;)

- Karl

> On 29 Dec 2016, at 06:23, Ankit Aggarwal via swift-users 
>  wrote:
> 
> ncurses is already present in the macOS sdk, so you don't need to install it 
> via brew.
> 
> In CNCurses package, create a file called "shim.h":
> $ cat shim.h
> #include "ncurses.h"
> 
> and change the modulemap to this: 
> $ cat module.modulemap
> module CNCurses [system] {
>  header "shim.h"
>  link "ncurses"
>  export *
> }
> 
>> On 29-Dec-2016, at 1:25 AM, Bouke Haarsma via swift-users 
>>  wrote:
>> 
>> Hi all,
>> 
>> I'm trying to build something with ncurses. There's this outdated tutorial: 
>> http://dev.iachieved.it/iachievedit/ncurses-with-swift-on-linux/. In order 
>> to build, a system module map was provided here: 
>> https://github.com/iachievedit/CNCURSES. This assumes 
>> `/usr/include/ncurses.h`, which is not available on MacOS 10.12. So I've 
>> installed ncurses through homebrew and updated the modulemap: 
>> https://github.com/Bouke/CNCurses. Sadly though, it doesn't work and I can't 
>> figure out how to get it working.
>> 
>>> brew install homebrew/dupes/ncurses
>> 
>> Module map:
>> 
>>> module CNCurses [system] {
>>>   header "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>>   link "ncurses"
>>>   export *
>>> }
>> 
>> I'm building with the following command, the flags taken from the package 
>> provided ncurses.pc:
>> 
>>> swift build \
>>> -Xcc -D_DARWIN_C_SOURCE \
>>> -Xcc -I/usr/local/Cellar/ncurses/6.0_2/include \
>>> -Xcc -I/usr/local/Cellar/ncurses/6.0_2/include/ncursesw \
>>> -Xlinker -L/usr/local/Cellar/ncurses/6.0_2/lib
>> 
>> This produces the following error message (shortened):
>> 
>>> Compile Swift Module 'TermDraw' (1 sources)
>>> :1:9: note: in file included from :1:
>>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>>   ^
>>> /usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:60:10: error: 
>>> 'ncursesw/ncurses_dll.h' file not found with  include; use "quotes" 
>>> instead
>>> #include 
>>>^
>>> :1:9: note: in file included from :1:
>>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>>   ^
>>> /usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:653:45: error: 
>>> conflicting types for 'keyname'
>>> extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  /* 
>>> implemented */
>>>   ^
>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/curses.h:598:45:
>>>  note: previous declaration is here
>>> extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  /* 
>>> implemented */
>>>   ^
>>> :1:9: note: in file included from :1:
>>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>>   ^
>> 
>> (and goes on for quite a few other conflicting types)
>> 
>> Any help on getting this to build is greatly appreciated. Example code can 
>> be found here: https://github.com/Bouke/TermDraw
>> 
>> ---
>> Thanks,
>> Bouke
>> 
>> 
>> ___
>> swift-users mailing list
>> swift-users@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> ___
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


Re: [swift-users] SwiftPM: import ncurses -> conflicting types

2016-12-28 Thread Bouke Haarsma via swift-users
In hindsight it just looks so easy -- I already found those headers in 
the SDK. Thanks!


On 2016-12-29 05:53:22 +, Ankit Aggarwal via swift-users said:

ncurses is already present in the macOS sdk, so you don't need to 
install it via brew.


In CNCurses package, create a file called "shim.h":
$ cat shim.h
#include "ncurses.h"

and change the modulemap to this:
$ cat module.modulemap
module CNCurses [system] {
  header "shim.h"
  link "ncurses"
  export *
}

On 29-Dec-2016, at 1:25 AM, Bouke Haarsma via swift-users 
 wrote:


Hi all,

I'm trying to build something with ncurses. There's this outdated 
tutorial: 
http://dev.iachieved.it/iachievedit/ncurses-with-swift-on-linux/. In 
order to build, a system module map was provided here: 
https://github.com/iachievedit/CNCURSES. This assumes 
`/usr/include/ncurses.h`, which is not available on MacOS 10.12. So 
I've installed ncurses through homebrew and updated the modulemap: 
https://github.com/Bouke/CNCurses. Sadly though, it doesn't work and I 
can't figure out how to get it working.



brew install homebrew/dupes/ncurses


Module map:


module CNCurses [system] {
header "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
link "ncurses"
export *
}


I'm building with the following command, the flags taken from the 
package provided ncurses.pc:



swift build \
-Xcc -D_DARWIN_C_SOURCE \
-Xcc -I/usr/local/Cellar/ncurses/6.0_2/include \
-Xcc -I/usr/local/Cellar/ncurses/6.0_2/include/ncursesw \
-Xlinker -L/usr/local/Cellar/ncurses/6.0_2/lib


This produces the following error message (shortened):


Compile Swift Module 'TermDraw' (1 sources)
:1:9: note: in file included from :1:
#import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
^
/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:60:10: error: 
'ncursesw/ncurses_dll.h' file not found with  include; use 
"quotes" instead

#include 
^
:1:9: note: in file included from :1:
#import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
^
/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:653:45: error: 
conflicting types for 'keyname'
extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  
/* implemented */

^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/curses.h:598:45: 
note: previous declaration is here
extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  
/* implemented */

^
:1:9: note: in file included from :1:
#import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
^


(and goes on for quite a few other conflicting types)

Any help on getting this to build is greatly appreciated. Example code 
can be found here: https://github.com/Bouke/TermDraw


---
Thanks,
Bouke


___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users




___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


Re: [swift-users] SwiftPM: import ncurses -> conflicting types

2016-12-28 Thread Ankit Aggarwal via swift-users
ncurses is already present in the macOS sdk, so you don't need to install it 
via brew.

In CNCurses package, create a file called "shim.h":
$ cat shim.h
#include "ncurses.h"

and change the modulemap to this: 
$ cat module.modulemap
module CNCurses [system] {
  header "shim.h"
  link "ncurses"
  export *
}

> On 29-Dec-2016, at 1:25 AM, Bouke Haarsma via swift-users 
>  wrote:
> 
> Hi all,
> 
> I'm trying to build something with ncurses. There's this outdated tutorial: 
> http://dev.iachieved.it/iachievedit/ncurses-with-swift-on-linux/. In order to 
> build, a system module map was provided here: 
> https://github.com/iachievedit/CNCURSES. This assumes 
> `/usr/include/ncurses.h`, which is not available on MacOS 10.12. So I've 
> installed ncurses through homebrew and updated the modulemap: 
> https://github.com/Bouke/CNCurses. Sadly though, it doesn't work and I can't 
> figure out how to get it working.
> 
>> brew install homebrew/dupes/ncurses
> 
> Module map:
> 
>> module CNCurses [system] {
>>header "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>link "ncurses"
>>export *
>> }
> 
> I'm building with the following command, the flags taken from the package 
> provided ncurses.pc:
> 
>> swift build \
>>  -Xcc -D_DARWIN_C_SOURCE \
>>  -Xcc -I/usr/local/Cellar/ncurses/6.0_2/include \
>>  -Xcc -I/usr/local/Cellar/ncurses/6.0_2/include/ncursesw \
>>  -Xlinker -L/usr/local/Cellar/ncurses/6.0_2/lib
> 
> This produces the following error message (shortened):
> 
>> Compile Swift Module 'TermDraw' (1 sources)
>> :1:9: note: in file included from :1:
>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>^
>> /usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:60:10: error: 
>> 'ncursesw/ncurses_dll.h' file not found with  include; use "quotes" 
>> instead
>> #include 
>> ^
>> :1:9: note: in file included from :1:
>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>^
>> /usr/local/Cellar/ncurses/6.0_2/include/ncurses.h:653:45: error: conflicting 
>> types for 'keyname'
>> extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  /* 
>> implemented */
>>^
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/curses.h:598:45:
>>  note: previous declaration is here
>> extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);  /* 
>> implemented */
>>^
>> :1:9: note: in file included from :1:
>> #import "/usr/local/Cellar/ncurses/6.0_2/include/ncurses.h"
>>^
> 
> (and goes on for quite a few other conflicting types)
> 
> Any help on getting this to build is greatly appreciated. Example code can be 
> found here: https://github.com/Bouke/TermDraw
> 
> ---
> Thanks,
> Bouke
> 
> 
> ___
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users