Thread

  1. RE: AIX support

    Srirama Kucherlapati <sriram.rk@in.ibm.com> — 2025-12-24T15:34:13Z

    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.