RE: AIX support - Mailing list pgsql-hackers

From Srirama Kucherlapati
Subject RE: AIX support
Date
Msg-id SJ4PPFB8177832684055FA99E25A710A09BDBB2A@SJ4PPFB81778326.namprd15.prod.outlook.com
Whole thread Raw
In response to Re: AIX support  ("Tristan Partin" <tristan@partin.io>)
List pgsql-hackers

Hi Tristan,
Thank you for your feedback and suggestions.

As suggested, we have tried to implement a dependency-driven approach for static library builds, rather than using AIX platform tags.


    modified:   meson.build
        dep_static_lib = declare_dependency()                       << new dependency

        if host_system == 'aix'
            dep_static_lib = disabler()
        endif

    modified:   src/interfaces/ecpg/compatlib/meson.build
        ecpg_compat_st = static_library('libecpg_compat',
          ecpg_compat_sources,
          include_directories: ecpg_compat_inc,
          c_args: ecpg_compat_c_args,
          dependencies: [frontend_stlib_code, thread_dep, dep_static_lib],                       << new dependency
          link_with: [ecpglib_st, ecpg_pgtypes_st],
          kwargs: default_lib_args,
        )

    modified:   src/interfaces/ecpg/ecpglib/meson.build
        ecpglib_st = static_library('libecpg',
          ecpglib_sources,
          include_directories: ecpglib_inc,
          c_args: ecpglib_c_args,
          c_pch: pch_postgres_fe_h,
          dependencies: [frontend_stlib_code, thread_dep, libpq, dep_static_lib],                       << new dependency
          link_with: [ecpg_pgtypes_st],
          kwargs: default_lib_args,
        )

    modified:   src/interfaces/ecpg/pgtypeslib/meson.build
        ecpg_pgtypes_st = static_library('libpgtypes',
          ecpg_pgtypes_sources,
          include_directories: ecpg_pgtypes_inc,
          c_args: ecpg_pgtypes_c_args,
          c_pch: pch_postgres_fe_h,
          dependencies: [frontend_stlib_code, dep_static_lib],                       << new dependency
          kwargs: default_lib_args,
        )

    modified:   src/interfaces/libpq/meson.build
        libpq_st = static_library('libpq',
          libpq_sources,
          include_directories: [libpq_inc],
          c_args: libpq_c_args,
          c_pch: pch_postgres_fe_h,
          dependencies: [frontend_stlib_code, libpq_deps, dep_static_lib],                       << new dependency
          kwargs: default_lib_args,
        )

>
 I'd like to see if Peter thinks this is a good idea before implementing it.
Also I would like to understand Peter/Heikki thoughts as well on this new implementation.

> Should we consolidate all Meson AIX support into one patch?
> Overall, I think the size of the patch is good, and seem pretty maintainable.

Thank you, Tristan, for your assistance. At present, the build appears stable

with the recent changes, however, the new dependency is causing impacts

elsewhere(with tmp_install). I will provide the consolidated patch after addressing these concerns.

Thanks,
Sriram.

pgsql-hackers by date:

Previous
From: KAZAR Ayoub
Date:
Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD
Next
From: Fujii Masao
Date:
Subject: Re: Fix wrong reference in pg_overexplain's doc