Обсуждение: QNX4 port

Поиск
Список
Период
Сортировка

QNX4 port

От
"Kardos, Dr. Andreas"
Дата:
I have done the QNX4 port with the current source tree. The number of
backend/Makefiles to be patched could significantly be reduced since they
have been adopted to the QNX4 needs.

Here are the completely new files:

pgsql/src/template/QNX
pgsql/src/makefiles/Makefile.qnx4
pgsql/src/include/port/qnx4.h
pgsql/src/backend/port/dynloader/qnx4.h
pgsql/src/backend/port/dynloader/qnx4.c
pgsql/src/backend/port/qnx4/Makefile
pgsql/src/backend/port/qnx4/ipc.h
pgsql/src/backend/port/qnx4/isnan.c
pgsql/src/backend/port/qnx4/rint.c
pgsql/src/backend/port/qnx4/sem.h
pgsql/src/backend/port/qnx4/sem.c
pgsql/src/backend/port/qnx4/shm.h
pgsql/src/backend/port/qnx4/shm.c
pgsql/src/backend/port/qnx4/tstrint.c
pgsql/src/backend/port/qnx4/tstsem.c
pgsql/src/backend/port/qnx4/tstshm.c

The following files have been extended with specific code:

pgsql/src/configure.in
pgsql/src/configure
pgsql/src/config.guess
pgsql/src/config.sub
pgsql/src/include/storage/s_lock.h
pgsql/src/backend/port/Makefile.in
pgsql/src/backend/port/isinf.c

The extension in s_lock.h is required for the Watcom compiler only. But
nevertheless it should be included because this code has been tested and
could be usefull for other new platforms.

These files have been extended to avoid conflicts/problems:

pgsql/src/include/utils/builtins.h
pgsql/src/backend/postmaster/postmaster.c
pgsql/src/test/regress/regress.sh

The following files could be changed in general but to avoid potential
problems on other platforms they have been extended with IFs. The mkdir
problem can simply be solved with a preceeding "-". Obviously there is a
problems with return codes on QNX. The "[ test ] && action" solution doesn't
help since it has the same behaviour.

pgsql/src/backend/Makefile
pgsql/src/bin/scripts/Makefile
pgsql/src/interfaces/libpgeasy/Makefile.in
pgsql/src/interfaces/libpgtcl/Makefile.in
pgsql/src/interfaces/libpq/Makefile.in
pgsql/src/interfaces/libpq++/Makefile.in

I have inserted a required #include again which has been kicked out since
6.5.2:
pgsql/src/backend/storage/lmgr/proc.c

The following Makefiles have been changed because the QNX archiver wlib
crashes with bootstrap.o. These crashes depend on the code of the object
files. It is not known when this happens. This problem comes and goes. In
6.5.2 ipc.o also caused a crash but with the current source not. So it could
make sense not to change the related Makefiles in this matter because in
following releases may be another behavior. Probably it would be better to
address this problem in README.qnx4.

The files ipc.h, sem.h and shm.h should be linked to /usr/include. The
README.qnx4 will be updated after the QNX port has been included into the
source tree.

The files themselves will be sent to pgsql-patches.

Andreas Kardos



Re: [PORTS] QNX4 port

От
Bruce Momjian
Дата:
Applied.  I have changed @if to -@if and removed the QNX-specific code.
This should allow QNX to compile in the current source tree.


[Charset iso-8859-1 unsupported, filtering to ASCII...]
> I have done the QNX4 port with the current source tree. The number of
> backend/Makefiles to be patched could significantly be reduced since they
> have been adopted to the QNX4 needs.
>
> Here are the completely new files:
>
> pgsql/src/template/QNX
> pgsql/src/makefiles/Makefile.qnx4
> pgsql/src/include/port/qnx4.h
> pgsql/src/backend/port/dynloader/qnx4.h
> pgsql/src/backend/port/dynloader/qnx4.c
> pgsql/src/backend/port/qnx4/Makefile
> pgsql/src/backend/port/qnx4/ipc.h
> pgsql/src/backend/port/qnx4/isnan.c
> pgsql/src/backend/port/qnx4/rint.c
> pgsql/src/backend/port/qnx4/sem.h
> pgsql/src/backend/port/qnx4/sem.c
> pgsql/src/backend/port/qnx4/shm.h
> pgsql/src/backend/port/qnx4/shm.c
> pgsql/src/backend/port/qnx4/tstrint.c
> pgsql/src/backend/port/qnx4/tstsem.c
> pgsql/src/backend/port/qnx4/tstshm.c
>
> The following files have been extended with specific code:
>
> pgsql/src/configure.in
> pgsql/src/configure
> pgsql/src/config.guess
> pgsql/src/config.sub
> pgsql/src/include/storage/s_lock.h
> pgsql/src/backend/port/Makefile.in
> pgsql/src/backend/port/isinf.c
>
> The extension in s_lock.h is required for the Watcom compiler only. But
> nevertheless it should be included because this code has been tested and
> could be usefull for other new platforms.
>
> These files have been extended to avoid conflicts/problems:
>
> pgsql/src/include/utils/builtins.h
> pgsql/src/backend/postmaster/postmaster.c
> pgsql/src/test/regress/regress.sh
>
> The following files could be changed in general but to avoid potential
> problems on other platforms they have been extended with IFs. The mkdir
> problem can simply be solved with a preceeding "-". Obviously there is a
> problems with return codes on QNX. The "[ test ] && action" solution doesn't
> help since it has the same behaviour.
>
> pgsql/src/backend/Makefile
> pgsql/src/bin/scripts/Makefile
> pgsql/src/interfaces/libpgeasy/Makefile.in
> pgsql/src/interfaces/libpgtcl/Makefile.in
> pgsql/src/interfaces/libpq/Makefile.in
> pgsql/src/interfaces/libpq++/Makefile.in
>
> I have inserted a required #include again which has been kicked out since
> 6.5.2:
> pgsql/src/backend/storage/lmgr/proc.c
>
> The following Makefiles have been changed because the QNX archiver wlib
> crashes with bootstrap.o. These crashes depend on the code of the object
> files. It is not known when this happens. This problem comes and goes. In
> 6.5.2 ipc.o also caused a crash but with the current source not. So it could
> make sense not to change the related Makefiles in this matter because in
> following releases may be another behavior. Probably it would be better to
> address this problem in README.qnx4.
>
> The files ipc.h, sem.h and shm.h should be linked to /usr/include. The
> README.qnx4 will be updated after the QNX port has been included into the
> source tree.
>
> The files themselves will be sent to pgsql-patches.
>
> Andreas Kardos
>
>
>
> ************
>
>


--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026