Re: Ajuda em declaração
On Tue, Apr 05, 2016 at 09:54:22AM -0300, Junior Santos wrote: > > > Em 5 de abr de 2016, à(s) 09:34, Junior Santos> > escreveu: > > > > > > Em 5 de abr de 2016, à(s) 08:46, Antonio Terceiro > > escreveu: > > > > 2 coisas aqui: > > Por exemplo pode me ajudar neste erro [1] > > A compilação está dando erro no kfreebsd-amd64 > > [1] > https://buildd.debian.org/status/fetch.php?pkg=mini-httpd=kfreebsd-amd64=1.23-1=1459766533 pelo que eu pude entender, as checagens no arquivo port.h estão erradas. tem um patch dentro do pacote em debian/patches/04-kfreebsd.dpatch que eu _acho_ que resolveria a questão, mas ele não está listado em debian/patches/series, então não está sendo aplicado. signature.asc Description: PGP signature
Re: Ajuda em declaração
> Em 5 de abr de 2016, à(s) 08:46, Antonio Terceiro> escreveu: > > 2 coisas aqui: Perfeito Antonio vlw. Sim na verdade tem que ser uma ou outra pra a compilação do pacote mini-httpd pois no caso se o OS for FreeBSD vai ser uma e se for freebsd outra, pra retirar um erro que estava dando na hora de compilar no freebsd. Vou testar as compilações depois []`s JJ signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Ajuda em declaração
On Tue, Apr 05, 2016 at 08:38:32AM -0300, Antonio Terceiro wrote: > On Mon, Apr 04, 2016 at 09:37:44AM -0300, Junior Santos wrote: > > -#if defined(__FreeBSD__) > > +#if defined(__FreeBSD_Kernel__) > > > > Como posso definir estas variasse de forma que elas > > usem se possível uma ou outra. > > essas macros são pré-definidas no sistema em questão, você não precisa > se preocupar em definir elas você mesmo. > > > Tenho um pacote e preciso ter as duas, pode ser que > > alguma arquitetura de FreeBSD precise desta declaração. > > Seria esta a forma correta : > > > > "#if defined (__FreeBSD__) || defined (__FreeBSD_Kernel__)” > > se você precisa ter _as duas_ (e não qualquer umas das duas), você quer > && ao invés de ||: > > #if defined(__FreeBSD__) && defined(__FreeBSD_Kernel__) 2 coisas aqui: 0) o nome de uma delas está errado, é __FreeBSD_kernel__ com o "k" de "kernel" minúsculo 1) as duas flags só vão estar definidas, pelo que eu entendo, no FreeBSD propriamente dito, no Debian GNU/kfreebsd só a __FreeBSD_kernel__ vai estar. Fiz o seguinte teste numa porterbox kfreebsd-amd64 do Debian: $ cat test.c #include int main() { #if defined (__FreeBSD_kernel__) printf("freebsd kernel\n"); #endif #if defined(__FreeBSD__) printf("freebsd\n"); #endif return 0; } $ make test cc test.c -o test $ ./test freebsd kernel mais informações: http://glibc-bsd.alioth.debian.org/porting/PORTING signature.asc Description: PGP signature
Re: Ajuda em declaração
On Mon, Apr 04, 2016 at 09:37:44AM -0300, Junior Santos wrote: > -#if defined(__FreeBSD__) > +#if defined(__FreeBSD_Kernel__) > > Como posso definir estas variasse de forma que elas > usem se possível uma ou outra. essas macros são pré-definidas no sistema em questão, você não precisa se preocupar em definir elas você mesmo. > Tenho um pacote e preciso ter as duas, pode ser que > alguma arquitetura de FreeBSD precise desta declaração. > Seria esta a forma correta : > > "#if defined (__FreeBSD__) || defined (__FreeBSD_Kernel__)” se você precisa ter _as duas_ (e não qualquer umas das duas), você quer && ao invés de ||: #if defined(__FreeBSD__) && defined(__FreeBSD_Kernel__) -- Antonio Terceirosignature.asc Description: PGP signature
Re: Ajuda em declaração
2016-04-04 9:37 GMT-03:00 Junior Santos: > Seria esta a forma correta : > > "#if defined (__FreeBSD__) || defined (__FreeBSD_Kernel__)” A declaração está correta [0]. 0 - https://gcc.gnu.org/onlinedocs/cpp/Defined.html -- Happy hacking, Albino @b1n0anb