Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

full cmake 2/N: integral classes and AM configuration #309

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

loriab
Copy link
Collaborator

@loriab loriab commented Dec 20, 2023

currently atop #299 . here's the diff of the new stuff: loriab/libint@extras...loriab:libint:intconfig

  • This PR
    • presents ints classes and deriv and AM options to user (CMakeLists.txt)
    • processes user options into L2 define variables (int_am.cmake)
    • writes the define variables to config.h.cmake.in
    • provides documentation (largely duplicates CMakeLists.txt) and upgrade helper (INSTALL.md)
  • int_am.cmake both
    • (1) does the defaulting logic that was in configure.ac and ends up in config.h . This adds a couple extra user input checks. The output I think is in good shape -- see the examples below. I can run others if you're curious.
    • (2) constructs "candidate" vars containing the target AM per class and per deriv for assembling the eri_ffff_d0 cmake components. This imitates logic that in L2 lives in build_libint.cc. The component-constructing machinery has been reworked for the new component format, and it wasn't too hard to keep it in cmake and avoid a Python dependency. This makes configuration-gen.py redundant.
      The only trouble here is that originally I had used both --with-max-am=N & --with-max-am=N0,N1,N2 in layers as defaults for ints classes. Whereas I'm pretty sure now that the latter has no role in defaulting (other than setting its max to LIBINT_MAX_AM) and is entirely directed at eri3. So the cmake components printed reflect this layered defaulting and likely not the true ints available. (Given the pattern, the cmake components are underpromising, not underdelivering, at least.) I've left this for now in case I'm mistaken again or in case you prefer this defaulting scheme, but probably it should be ripped out in the end to conform strictly with configure.ac/build_libint.cc .
  • One potential plumbing bug: WITH_ONEBODY_[MAX|OPT]_AM with per-deriv N0,N1,N2 option is stated in the current docs and parsed by configure.ac into ONEBODY_MAX_AM_LIST/ONEBODY_OPT_AM_LIST and those defines are processed in build_libint.cc. But there's a handoff missing in include/libint2/config.h.in where the LIST never got defined. I've added them in to both the libtool config.h.in and the WIP cmake config.h.cmake.in.
May 2024 additions
  • components extended to AM s & p. They're unlikely to be target configuration values, but useful for checks
  • (2) above is now revised so that WITH_MAX_AM int or max of per-deriv list serves as default for specific integral classes and per-deriv list serves as paired for eri3
  • the LIBINT_HARD_MAX_AM is new upstream, I think. I've got it in locally, but it isn't in this PR.

GHA example

REVISED
> --with-max-am=2,1 --with-eri-max-am=2,2 --with-eri3-max-am=3,2 --enable-eri=1 --enable-eri3=1 --enable-1body=1 --disable-1body-property-derivs --with-multipole-max-order=2

REVISED
> -DWITH_MAX_AM="2;1" -DWITH_ERI_MAX_AM="2;2" -DWITH_ERI3_MAX_AM="3;2" -DENABLE_ERI=1 -DENABLE_ERI3=1 -DENABLE_ONEBODY=1 -DDISABLE_ONEBODY_PROPERTY_DERIVS=ON -DMULTIPOLE_MAX_ORDER=2

part of cmake printout

REVISED
-- setting components multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components onebody_dd_d1;onebody_pp_d1;onebody_ss_d1
-- setting components eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_dddd_d1;eri_pppp_d1;eri_ssss_d1
-- setting components eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1
-- setting components eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1
-- Library will satisfy ERI AM components: multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;onebody_dd_d1;onebody_pp_d1;onebody_ss_d1;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=2 LIBINT_MAX_AM_LIST=2,1 LIBINT_OPT_AM=2 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 2
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=1 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 2
 * integral class ONEBODY derivative 1, max_am 2
 * integral class ERI, config.h: INCLUDE_ERI=1 ERI_MAX_AM= ERI_MAX_AM_LIST=2,2 ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 2
 * integral class ERI derivative 1, max_am 2
 * integral class ERI3, config.h: INCLUDE_ERI3=1 ERI3_MAX_AM= ERI3_MAX_AM_LIST=3,2 ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 3
 * integral class ERI3 derivative 1, max_am 2

-- Libint Disabled features:
 * integral class ERI2, config.h: INCLUDE_ERI2=-1 ERI2_MAX_AM= ERI2_MAX_AM_LIST= ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class G12, config.h: INCLUDE_G12=-1 G12_MAX_AM= G12_OPT_AM=
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=

compare _AM lines in libtool-generated and cmake-generated config.h

REVISED
include/libint2/config.h:/* #undef LIBINT_HARD_MAX_AM */
include/libint2/config.h:#define LIBINT_MAX_AM 2
include/libint2/config.h:#define LIBINT_MAX_AM_LIST "2,1"
include/libint2/config.h:#define LIBINT_OPT_AM 2
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:#define ERI_MAX_AM_LIST "2,2"
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:/* #undef G12_MAX_AM */
include/libint2/config.h:/* #undef G12_OPT_AM */
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

REVISED
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 2
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM_LIST "2,1"
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 2
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM */
buildcm/include/libint2/config.h:#define ERI_MAX_AM_LIST "2,2"
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef G12_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12_OPT_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

empty

>
>
REVISED
-- setting components multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- Library will satisfy ERI AM components: multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=4 LIBINT_MAX_AM_LIST= LIBINT_OPT_AM=3 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 4
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=0 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 4
 * integral class ERI, config.h: INCLUDE_ERI=0 ERI_MAX_AM= ERI_MAX_AM_LIST= ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 4

-- Libint Disabled features:
 * integral class ERI3, config.h: INCLUDE_ERI3=-1 ERI3_MAX_AM= ERI3_MAX_AM_LIST= ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI2, config.h: INCLUDE_ERI2=-1 ERI2_MAX_AM= ERI2_MAX_AM_LIST= ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class G12, config.h: INCLUDE_G12=-1 G12_MAX_AM= G12_OPT_AM=
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=
include/libint2/config.h:#define LIBINT_MAX_AM 4
include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
include/libint2/config.h:#define LIBINT_OPT_AM 3
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:/* #undef ERI_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:/* #undef ERI3_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:/* #undef G12_MAX_AM */
include/libint2/config.h:/* #undef G12_OPT_AM */
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

REVISED May 2024
#define LIBINT_MAX_AM 4
/* #undef LIBINT_MAX_AM_LIST */
#define LIBINT_OPT_AM 3
/* #undef LIBINT_OPT_AM_LIST */
/* #undef ONEBODY_MAX_AM */
/* #undef ONEBODY_MAX_AM_LIST */
/* #undef ONEBODY_OPT_AM */
/* #undef ONEBODY_OPT_AM_LIST */
/* #undef ERI_MAX_AM */
/* #undef ERI_MAX_AM_LIST */
/* #undef ERI_OPT_AM */
/* #undef ERI_OPT_AM_LIST */
/* #undef ERI3_MAX_AM */
/* #undef ERI3_MAX_AM_LIST */
/* #undef ERI3_OPT_AM */
/* #undef ERI3_OPT_AM_LIST */
/* #undef ERI2_MAX_AM */
/* #undef ERI2_MAX_AM_LIST */
/* #undef ERI2_OPT_AM */
/* #undef ERI2_OPT_AM_LIST */
/* #undef G12_MAX_AM */
/* #undef G12_OPT_AM */
/* #undef G12DKH_MAX_AM */
/* #undef G12DKH_OPT_AM */

MPQC4

> --with-max-am=6 --with-opt-am=3 --enable-eri3=0 --enable-eri2=0 --enable-eri3-pure-sh --enable-eri2-pure-sh --disable-1body-property-derivs

> -DWITH_MAX_AM=6 -DWITH_OPT_AM=3 -DENABLE_ERI3=0 -DENABLE_ERI2=0 -DERI3_PURE_SH=ON -DERI2_PURE_SH=ON -DDISABLE_ONEBODY_PROPERTY_DERIVS=ON
REVISED
-- setting components multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components eri_iiii_d0;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0
-- Library will satisfy ERI AM components: multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;eri_iiii_d0;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=6 LIBINT_MAX_AM_LIST= LIBINT_OPT_AM=3 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 4
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=0 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 6
 * integral class ERI, config.h: INCLUDE_ERI=0 ERI_MAX_AM= ERI_MAX_AM_LIST= ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 6
 * integral class ERI3, config.h: INCLUDE_ERI3=0 ERI3_MAX_AM= ERI3_MAX_AM_LIST= ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 6
 * integral class ERI2, config.h: INCLUDE_ERI2=0 ERI2_MAX_AM= ERI2_MAX_AM_LIST= ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class ERI2 derivative 0, max_am 6

-- Libint Disabled features:
 * integral class G12, config.h: INCLUDE_G12=-1 G12_MAX_AM= G12_OPT_AM=
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=
include/libint2/config.h:#define LIBINT_MAX_AM 6
include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
include/libint2/config.h:#define LIBINT_OPT_AM 3
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:/* #undef ERI_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:/* #undef ERI3_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:/* #undef G12_MAX_AM */
include/libint2/config.h:/* #undef G12_OPT_AM */
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

REVISED
buildcm/include/libint2/config.h:#define LIBINT_HARD_MAX_AM 12
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 6
buildcm/include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 3
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef G12_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12_OPT_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

c-f/psi4 "basic" for windows

> --enable-eri=1 --enable-eri3=1 --enable-eri2=1 --enable-1body=2 --enable-g12=1 --disable-1body-property-derivs --with-multipole-max-order=10 --with-g12-max-am=4 --with-eri-max-am=5,4 --with-eri3-max-am=6,5 --with-eri2-max-am=6,5 --with-max-am=6,5

> -DENABLE_ERI=1 -DENABLE_ERI3=1 -DENABLE_ERI2=1 -DENABLE_ONEBODY=2 -DENABLE_G12=1 -DDISABLE_ONEBODY_PROPERTY_DERIVS=ON -DMULTIPOLE_MAX_ORDER=10 -DWITH_G12_MAX_AM=4 -DWITH_ERI_MAX_AM="5;4" -DWITH_ERI3_MAX_AM="6;5" -DWITH_ERI2_MAX_AM="6;5" -DWITH_MAX_AM="6;5;5"

Note that literal translation throws an error: "Invalid value for WITH_MAX_AM (6;5). Highest ENABLE_ derivative (2) requires list length 3, not 2." Input isn't technically wrong since list WITH_MAX_AM likely only relevant for ERI3. But in the interest of catching user slips, I'm leaving the check in and adjusting the input to WITH_MAX_AM="6;5;5".

REVISED
-- setting components multipole_nn_d0;multipole_mm_d0;multipole_ll_d0;multipole_kk_d0;multipole_ii_d0;multipole_hh_d0;multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components onebody_ii_d1;onebody_hh_d1;onebody_gg_d1;onebody_ff_d1;onebody_dd_d1;onebody_pp_d1;onebody_ss_d1
-- setting components onebody_ii_d2;onebody_hh_d2;onebody_gg_d2;onebody_ff_d2;onebody_dd_d2;onebody_pp_d2;onebody_ss_d2
-- setting components eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_gggg_d1;eri_ffff_d1;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1
-- setting components eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_hhH_d1;eri_ggH_d1;eri_ffH_d1;eri_ddH_d1;eri_ppH_d1;eri_ssH_d1;eri_ggG_d1;eri_ffG_d1;eri_ddG_d1;eri_ppG_d1;eri_ssG_d1;eri_ffF_d1;eri_ddF_d1;eri_ppF_d1;eri_ssF_d1;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1
-- setting components eri_iii_d0;eri_hhi_d0;eri_ggi_d0;eri_ffi_d0;eri_ddi_d0;eri_ppi_d0;eri_ssi_d0;eri_hhh_d0;eri_ggh_d0;eri_ffh_d0;eri_ddh_d0;eri_pph_d0;eri_ssh_d0;eri_ggg_d0;eri_ffg_d0;eri_ddg_d0;eri_ppg_d0;eri_ssg_d0;eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_hhh_d1;eri_ggh_d1;eri_ffh_d1;eri_ddh_d1;eri_pph_d1;eri_ssh_d1;eri_ggg_d1;eri_ffg_d1;eri_ddg_d1;eri_ppg_d1;eri_ssg_d1;eri_fff_d1;eri_ddf_d1;eri_ppf_d1;eri_ssf_d1;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1
-- setting components eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0
-- setting components eri_HH_d1;eri_GG_d1;eri_FF_d1;eri_DD_d1;eri_PP_d1;eri_SS_d1
-- setting components eri_ii_d0;eri_hh_d0;eri_gg_d0;eri_ff_d0;eri_dd_d0;eri_pp_d0;eri_ss_d0;eri_hh_d1;eri_gg_d1;eri_ff_d1;eri_dd_d1;eri_pp_d1;eri_ss_d1
-- setting components g12_gggg_d0;g12_ffff_d0;g12_dddd_d0;g12_pppp_d0;g12_ssss_d0
-- setting components g12_gggg_d1;g12_ffff_d1;g12_dddd_d1;g12_pppp_d1;g12_ssss_d1
-- Library will satisfy ERI AM components: multipole_nn_d0;multipole_mm_d0;multipole_ll_d0;multipole_kk_d0;multipole_ii_d0;multipole_hh_d0;multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;onebody_ii_d1;onebody_hh_d1;onebody_gg_d1;onebody_ff_d1;onebody_dd_d1;onebody_pp_d1;onebody_ss_d1;onebody_ii_d2;onebody_hh_d2;onebody_gg_d2;onebody_ff_d2;onebody_dd_d2;onebody_pp_d2;onebody_ss_d2;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_gggg_d1;eri_ffff_d1;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1;eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_hhH_d1;eri_ggH_d1;eri_ffH_d1;eri_ddH_d1;eri_ppH_d1;eri_ssH_d1;eri_ggG_d1;eri_ffG_d1;eri_ddG_d1;eri_ppG_d1;eri_ssG_d1;eri_ffF_d1;eri_ddF_d1;eri_ppF_d1;eri_ssF_d1;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1;eri_iii_d0;eri_hhi_d0;eri_ggi_d0;eri_ffi_d0;eri_ddi_d0;eri_ppi_d0;eri_ssi_d0;eri_hhh_d0;eri_ggh_d0;eri_ffh_d0;eri_ddh_d0;eri_pph_d0;eri_ssh_d0;eri_ggg_d0;eri_ffg_d0;eri_ddg_d0;eri_ppg_d0;eri_ssg_d0;eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_hhh_d1;eri_ggh_d1;eri_ffh_d1;eri_ddh_d1;eri_pph_d1;eri_ssh_d1;eri_ggg_d1;eri_ffg_d1;eri_ddg_d1;eri_ppg_d1;eri_ssg_d1;eri_fff_d1;eri_ddf_d1;eri_ppf_d1;eri_ssf_d1;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1;eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0;eri_HH_d1;eri_GG_d1;eri_FF_d1;eri_DD_d1;eri_PP_d1;eri_SS_d1;eri_ii_d0;eri_hh_d0;eri_gg_d0;eri_ff_d0;eri_dd_d0;eri_pp_d0;eri_ss_d0;eri_hh_d1;eri_gg_d1;eri_ff_d1;eri_dd_d1;eri_pp_d1;eri_ss_d1;g12_gggg_d0;g12_ffff_d0;g12_dddd_d0;g12_pppp_d0;g12_ssss_d0;g12_gggg_d1;g12_ffff_d1;g12_dddd_d1;g12_pppp_d1;g12_ssss_d1

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=6 LIBINT_MAX_AM_LIST=6,5,5 LIBINT_OPT_AM=4 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 10
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=2 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 6
 * integral class ONEBODY derivative 1, max_am 6
 * integral class ONEBODY derivative 2, max_am 6
 * integral class ERI, config.h: INCLUDE_ERI=1 ERI_MAX_AM= ERI_MAX_AM_LIST=5,4 ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 5
 * integral class ERI derivative 1, max_am 4
 * integral class ERI3, config.h: INCLUDE_ERI3=1 ERI3_MAX_AM= ERI3_MAX_AM_LIST=6,5 ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 6
 * integral class ERI3 derivative 1, max_am 5
 * integral class ERI2, config.h: INCLUDE_ERI2=1 ERI2_MAX_AM= ERI2_MAX_AM_LIST=6,5 ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class ERI2 derivative 0, max_am 6
 * integral class ERI2 derivative 1, max_am 5
 * integral class G12, config.h: INCLUDE_G12=1 G12_MAX_AM=4 G12_OPT_AM=4
 * integral class G12 derivative 0, max_am 4
 * integral class G12 derivative 1, max_am 4

-- Libint Disabled features:
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=

This is an example of how the current CMake defaulting uses the list WITH_MAX_AM to default other classes rather than only using scalar WITH_MAX_AM for defaulting and reserving list WITH_MAX_AM for ERI3 paired: ONEBODY shows max_am=6 for ene and =5 for grad rather than 6 for both. For now, though, this inconsistency is only going to affect the cmake components, not the config.h (comparison below has only the deliberate LIBINT_MAX_AM_LIST difference) or the library.

include/libint2/config.h:#define LIBINT_MAX_AM 6
include/libint2/config.h:#define LIBINT_MAX_AM_LIST "6,5"
include/libint2/config.h:#define LIBINT_OPT_AM 4
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:#define ERI_MAX_AM_LIST "5,4"
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:#define ERI3_MAX_AM_LIST "6,5"
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:#define ERI2_MAX_AM_LIST "6,5"
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:#define G12_MAX_AM 4
include/libint2/config.h:#define G12_OPT_AM 4
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

REVISED
buildcm/include/libint2/config.h:#define LIBINT_HARD_MAX_AM 12
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 6
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM_LIST "6,5,5"
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 4
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM */
buildcm/include/libint2/config.h:#define ERI_MAX_AM_LIST "5,4"
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:#define ERI3_MAX_AM_LIST "6,5"
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:#define ERI2_MAX_AM_LIST "6,5"
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:#define G12_MAX_AM 4
buildcm/include/libint2/config.h:#define G12_OPT_AM 4
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

psi4 trial "bigAM" for linux

> --enable-eri=2 --enable-eri3=2 --enable-eri2=2 --enable-1body=2 --enable-g12=1 --disable-1body-property-derivs --with-multipole-max-order=10 --with-g12-max-am=4 --with-eri-max-am=7,7,4 --with-eri3-max-am=12,7,5 --with-eri2-max-am=7,7,5 --with-max-am=7,7,5

> -DENABLE_ERI=2 -DENABLE_ERI3=2 -DENABLE_ERI2=2 -DENABLE_ONEBODY=2 -DENABLE_G12=1 -DDISABLE_ONEBODY_PROPERTY_DERIVS=ON -DMULTIPOLE_MAX_ORDER=10 -DWITH_G12_MAX_AM=4 -DWITH_ERI_MAX_AM="7;7;4" -DWITH_ERI3_MAX_AM="12;7;5" -DWITH_ERI2_MAX_AM="7;7;5" -DWITH_MAX_AM="7;7;5"
REVISED
-- setting components multipole_nn_d0;multipole_mm_d0;multipole_ll_d0;multipole_kk_d0;multipole_ii_d0;multipole_hh_d0;multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_kk_d0;onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components onebody_kk_d1;onebody_ii_d1;onebody_hh_d1;onebody_gg_d1;onebody_ff_d1;onebody_dd_d1;onebody_pp_d1;onebody_ss_d1
-- setting components onebody_kk_d2;onebody_ii_d2;onebody_hh_d2;onebody_gg_d2;onebody_ff_d2;onebody_dd_d2;onebody_pp_d2;onebody_ss_d2
-- setting components eri_kkkk_d0;eri_iiii_d0;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_kkkk_d1;eri_iiii_d1;eri_hhhh_d1;eri_gggg_d1;eri_ffff_d1;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1
-- setting components eri_gggg_d2;eri_ffff_d2;eri_dddd_d2;eri_pppp_d2;eri_ssss_d2
-- setting components eri_kkQ_d0;eri_iiQ_d0;eri_hhQ_d0;eri_ggQ_d0;eri_ffQ_d0;eri_ddQ_d0;eri_ppQ_d0;eri_ssQ_d0;eri_kkO_d0;eri_iiO_d0;eri_hhO_d0;eri_ggO_d0;eri_ffO_d0;eri_ddO_d0;eri_ppO_d0;eri_ssO_d0;eri_kkN_d0;eri_iiN_d0;eri_hhN_d0;eri_ggN_d0;eri_ffN_d0;eri_ddN_d0;eri_ppN_d0;eri_ssN_d0;eri_kkM_d0;eri_iiM_d0;eri_hhM_d0;eri_ggM_d0;eri_ffM_d0;eri_ddM_d0;eri_ppM_d0;eri_ssM_d0;eri_kkL_d0;eri_iiL_d0;eri_hhL_d0;eri_ggL_d0;eri_ffL_d0;eri_ddL_d0;eri_ppL_d0;eri_ssL_d0;eri_kkK_d0;eri_iiK_d0;eri_hhK_d0;eri_ggK_d0;eri_ffK_d0;eri_ddK_d0;eri_ppK_d0;eri_ssK_d0;eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_kkK_d1;eri_iiK_d1;eri_hhK_d1;eri_ggK_d1;eri_ffK_d1;eri_ddK_d1;eri_ppK_d1;eri_ssK_d1;eri_iiI_d1;eri_hhI_d1;eri_ggI_d1;eri_ffI_d1;eri_ddI_d1;eri_ppI_d1;eri_ssI_d1;eri_hhH_d1;eri_ggH_d1;eri_ffH_d1;eri_ddH_d1;eri_ppH_d1;eri_ssH_d1;eri_ggG_d1;eri_ffG_d1;eri_ddG_d1;eri_ppG_d1;eri_ssG_d1;eri_ffF_d1;eri_ddF_d1;eri_ppF_d1;eri_ssF_d1;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1
-- setting components eri_hhH_d2;eri_ggH_d2;eri_ffH_d2;eri_ddH_d2;eri_ppH_d2;eri_ssH_d2;eri_ggG_d2;eri_ffG_d2;eri_ddG_d2;eri_ppG_d2;eri_ssG_d2;eri_ffF_d2;eri_ddF_d2;eri_ppF_d2;eri_ssF_d2;eri_ddD_d2;eri_ppD_d2;eri_ssD_d2;eri_ppP_d2;eri_ssP_d2;eri_ssS_d2
-- setting components eri_kkq_d0;eri_iiq_d0;eri_hhq_d0;eri_ggq_d0;eri_ffq_d0;eri_ddq_d0;eri_ppq_d0;eri_ssq_d0;eri_kko_d0;eri_iio_d0;eri_hho_d0;eri_ggo_d0;eri_ffo_d0;eri_ddo_d0;eri_ppo_d0;eri_sso_d0;eri_kkn_d0;eri_iin_d0;eri_hhn_d0;eri_ggn_d0;eri_ffn_d0;eri_ddn_d0;eri_ppn_d0;eri_ssn_d0;eri_kkm_d0;eri_iim_d0;eri_hhm_d0;eri_ggm_d0;eri_ffm_d0;eri_ddm_d0;eri_ppm_d0;eri_ssm_d0;eri_kkl_d0;eri_iil_d0;eri_hhl_d0;eri_ggl_d0;eri_ffl_d0;eri_ddl_d0;eri_ppl_d0;eri_ssl_d0;eri_kkk_d0;eri_iik_d0;eri_hhk_d0;eri_ggk_d0;eri_ffk_d0;eri_ddk_d0;eri_ppk_d0;eri_ssk_d0;eri_iii_d0;eri_hhi_d0;eri_ggi_d0;eri_ffi_d0;eri_ddi_d0;eri_ppi_d0;eri_ssi_d0;eri_hhh_d0;eri_ggh_d0;eri_ffh_d0;eri_ddh_d0;eri_pph_d0;eri_ssh_d0;eri_ggg_d0;eri_ffg_d0;eri_ddg_d0;eri_ppg_d0;eri_ssg_d0;eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_kkk_d1;eri_iik_d1;eri_hhk_d1;eri_ggk_d1;eri_ffk_d1;eri_ddk_d1;eri_ppk_d1;eri_ssk_d1;eri_iii_d1;eri_hhi_d1;eri_ggi_d1;eri_ffi_d1;eri_ddi_d1;eri_ppi_d1;eri_ssi_d1;eri_hhh_d1;eri_ggh_d1;eri_ffh_d1;eri_ddh_d1;eri_pph_d1;eri_ssh_d1;eri_ggg_d1;eri_ffg_d1;eri_ddg_d1;eri_ppg_d1;eri_ssg_d1;eri_fff_d1;eri_ddf_d1;eri_ppf_d1;eri_ssf_d1;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1;eri_hhh_d2;eri_ggh_d2;eri_ffh_d2;eri_ddh_d2;eri_pph_d2;eri_ssh_d2;eri_ggg_d2;eri_ffg_d2;eri_ddg_d2;eri_ppg_d2;eri_ssg_d2;eri_fff_d2;eri_ddf_d2;eri_ppf_d2;eri_ssf_d2;eri_ddd_d2;eri_ppd_d2;eri_ssd_d2;eri_ppp_d2;eri_ssp_d2;eri_sss_d2
-- setting components eri_KK_d0;eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0
-- setting components eri_KK_d1;eri_II_d1;eri_HH_d1;eri_GG_d1;eri_FF_d1;eri_DD_d1;eri_PP_d1;eri_SS_d1
-- setting components eri_HH_d2;eri_GG_d2;eri_FF_d2;eri_DD_d2;eri_PP_d2;eri_SS_d2
-- setting components eri_kk_d0;eri_ii_d0;eri_hh_d0;eri_gg_d0;eri_ff_d0;eri_dd_d0;eri_pp_d0;eri_ss_d0;eri_kk_d1;eri_ii_d1;eri_hh_d1;eri_gg_d1;eri_ff_d1;eri_dd_d1;eri_pp_d1;eri_ss_d1;eri_hh_d2;eri_gg_d2;eri_ff_d2;eri_dd_d2;eri_pp_d2;eri_ss_d2
-- setting components g12_gggg_d0;g12_ffff_d0;g12_dddd_d0;g12_pppp_d0;g12_ssss_d0
-- setting components g12_gggg_d1;g12_ffff_d1;g12_dddd_d1;g12_pppp_d1;g12_ssss_d1
-- Library will satisfy ERI AM components: multipole_nn_d0;multipole_mm_d0;multipole_ll_d0;multipole_kk_d0;multipole_ii_d0;multipole_hh_d0;multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_kk_d0;onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;onebody_kk_d1;onebody_ii_d1;onebody_hh_d1;onebody_gg_d1;onebody_ff_d1;onebody_dd_d1;onebody_pp_d1;onebody_ss_d1;onebody_kk_d2;onebody_ii_d2;onebody_hh_d2;onebody_gg_d2;onebody_ff_d2;onebody_dd_d2;onebody_pp_d2;onebody_ss_d2;eri_kkkk_d0;eri_iiii_d0;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_kkkk_d1;eri_iiii_d1;eri_hhhh_d1;eri_gggg_d1;eri_ffff_d1;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1;eri_gggg_d2;eri_ffff_d2;eri_dddd_d2;eri_pppp_d2;eri_ssss_d2;eri_kkQ_d0;eri_iiQ_d0;eri_hhQ_d0;eri_ggQ_d0;eri_ffQ_d0;eri_ddQ_d0;eri_ppQ_d0;eri_ssQ_d0;eri_kkO_d0;eri_iiO_d0;eri_hhO_d0;eri_ggO_d0;eri_ffO_d0;eri_ddO_d0;eri_ppO_d0;eri_ssO_d0;eri_kkN_d0;eri_iiN_d0;eri_hhN_d0;eri_ggN_d0;eri_ffN_d0;eri_ddN_d0;eri_ppN_d0;eri_ssN_d0;eri_kkM_d0;eri_iiM_d0;eri_hhM_d0;eri_ggM_d0;eri_ffM_d0;eri_ddM_d0;eri_ppM_d0;eri_ssM_d0;eri_kkL_d0;eri_iiL_d0;eri_hhL_d0;eri_ggL_d0;eri_ffL_d0;eri_ddL_d0;eri_ppL_d0;eri_ssL_d0;eri_kkK_d0;eri_iiK_d0;eri_hhK_d0;eri_ggK_d0;eri_ffK_d0;eri_ddK_d0;eri_ppK_d0;eri_ssK_d0;eri_iiI_d0;eri_hhI_d0;eri_ggI_d0;eri_ffI_d0;eri_ddI_d0;eri_ppI_d0;eri_ssI_d0;eri_hhH_d0;eri_ggH_d0;eri_ffH_d0;eri_ddH_d0;eri_ppH_d0;eri_ssH_d0;eri_ggG_d0;eri_ffG_d0;eri_ddG_d0;eri_ppG_d0;eri_ssG_d0;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_kkK_d1;eri_iiK_d1;eri_hhK_d1;eri_ggK_d1;eri_ffK_d1;eri_ddK_d1;eri_ppK_d1;eri_ssK_d1;eri_iiI_d1;eri_hhI_d1;eri_ggI_d1;eri_ffI_d1;eri_ddI_d1;eri_ppI_d1;eri_ssI_d1;eri_hhH_d1;eri_ggH_d1;eri_ffH_d1;eri_ddH_d1;eri_ppH_d1;eri_ssH_d1;eri_ggG_d1;eri_ffG_d1;eri_ddG_d1;eri_ppG_d1;eri_ssG_d1;eri_ffF_d1;eri_ddF_d1;eri_ppF_d1;eri_ssF_d1;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1;eri_hhH_d2;eri_ggH_d2;eri_ffH_d2;eri_ddH_d2;eri_ppH_d2;eri_ssH_d2;eri_ggG_d2;eri_ffG_d2;eri_ddG_d2;eri_ppG_d2;eri_ssG_d2;eri_ffF_d2;eri_ddF_d2;eri_ppF_d2;eri_ssF_d2;eri_ddD_d2;eri_ppD_d2;eri_ssD_d2;eri_ppP_d2;eri_ssP_d2;eri_ssS_d2;eri_kkq_d0;eri_iiq_d0;eri_hhq_d0;eri_ggq_d0;eri_ffq_d0;eri_ddq_d0;eri_ppq_d0;eri_ssq_d0;eri_kko_d0;eri_iio_d0;eri_hho_d0;eri_ggo_d0;eri_ffo_d0;eri_ddo_d0;eri_ppo_d0;eri_sso_d0;eri_kkn_d0;eri_iin_d0;eri_hhn_d0;eri_ggn_d0;eri_ffn_d0;eri_ddn_d0;eri_ppn_d0;eri_ssn_d0;eri_kkm_d0;eri_iim_d0;eri_hhm_d0;eri_ggm_d0;eri_ffm_d0;eri_ddm_d0;eri_ppm_d0;eri_ssm_d0;eri_kkl_d0;eri_iil_d0;eri_hhl_d0;eri_ggl_d0;eri_ffl_d0;eri_ddl_d0;eri_ppl_d0;eri_ssl_d0;eri_kkk_d0;eri_iik_d0;eri_hhk_d0;eri_ggk_d0;eri_ffk_d0;eri_ddk_d0;eri_ppk_d0;eri_ssk_d0;eri_iii_d0;eri_hhi_d0;eri_ggi_d0;eri_ffi_d0;eri_ddi_d0;eri_ppi_d0;eri_ssi_d0;eri_hhh_d0;eri_ggh_d0;eri_ffh_d0;eri_ddh_d0;eri_pph_d0;eri_ssh_d0;eri_ggg_d0;eri_ffg_d0;eri_ddg_d0;eri_ppg_d0;eri_ssg_d0;eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_kkk_d1;eri_iik_d1;eri_hhk_d1;eri_ggk_d1;eri_ffk_d1;eri_ddk_d1;eri_ppk_d1;eri_ssk_d1;eri_iii_d1;eri_hhi_d1;eri_ggi_d1;eri_ffi_d1;eri_ddi_d1;eri_ppi_d1;eri_ssi_d1;eri_hhh_d1;eri_ggh_d1;eri_ffh_d1;eri_ddh_d1;eri_pph_d1;eri_ssh_d1;eri_ggg_d1;eri_ffg_d1;eri_ddg_d1;eri_ppg_d1;eri_ssg_d1;eri_fff_d1;eri_ddf_d1;eri_ppf_d1;eri_ssf_d1;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1;eri_hhh_d2;eri_ggh_d2;eri_ffh_d2;eri_ddh_d2;eri_pph_d2;eri_ssh_d2;eri_ggg_d2;eri_ffg_d2;eri_ddg_d2;eri_ppg_d2;eri_ssg_d2;eri_fff_d2;eri_ddf_d2;eri_ppf_d2;eri_ssf_d2;eri_ddd_d2;eri_ppd_d2;eri_ssd_d2;eri_ppp_d2;eri_ssp_d2;eri_sss_d2;eri_KK_d0;eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_PP_d0;eri_SS_d0;eri_KK_d1;eri_II_d1;eri_HH_d1;eri_GG_d1;eri_FF_d1;eri_DD_d1;eri_PP_d1;eri_SS_d1;eri_HH_d2;eri_GG_d2;eri_FF_d2;eri_DD_d2;eri_PP_d2;eri_SS_d2;eri_kk_d0;eri_ii_d0;eri_hh_d0;eri_gg_d0;eri_ff_d0;eri_dd_d0;eri_pp_d0;eri_ss_d0;eri_kk_d1;eri_ii_d1;eri_hh_d1;eri_gg_d1;eri_ff_d1;eri_dd_d1;eri_pp_d1;eri_ss_d1;eri_hh_d2;eri_gg_d2;eri_ff_d2;eri_dd_d2;eri_pp_d2;eri_ss_d2;g12_gggg_d0;g12_ffff_d0;g12_dddd_d0;g12_pppp_d0;g12_ssss_d0;g12_gggg_d1;g12_ffff_d1;g12_dddd_d1;g12_pppp_d1;g12_ssss_d1

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=7 LIBINT_MAX_AM_LIST=7,7,5 LIBINT_OPT_AM=4 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 10
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=2 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 7
 * integral class ONEBODY derivative 1, max_am 7
 * integral class ONEBODY derivative 2, max_am 7
 * integral class ERI, config.h: INCLUDE_ERI=2 ERI_MAX_AM= ERI_MAX_AM_LIST=7,7,4 ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 7
 * integral class ERI derivative 1, max_am 7
 * integral class ERI derivative 2, max_am 4
 * integral class ERI3, config.h: INCLUDE_ERI3=2 ERI3_MAX_AM= ERI3_MAX_AM_LIST=12,7,5 ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 12
 * integral class ERI3 derivative 1, max_am 7
 * integral class ERI3 derivative 2, max_am 5
 * integral class ERI2, config.h: INCLUDE_ERI2=2 ERI2_MAX_AM= ERI2_MAX_AM_LIST=7,7,5 ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class ERI2 derivative 0, max_am 7
 * integral class ERI2 derivative 1, max_am 7
 * integral class ERI2 derivative 2, max_am 5
 * integral class G12, config.h: INCLUDE_G12=1 G12_MAX_AM=4 G12_OPT_AM=4
 * integral class G12 derivative 0, max_am 4
 * integral class G12 derivative 1, max_am 4
include/libint2/config.h:#define LIBINT_MAX_AM 7
include/libint2/config.h:#define LIBINT_MAX_AM_LIST "7,7,5"
include/libint2/config.h:#define LIBINT_OPT_AM 4
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:#define ERI_MAX_AM_LIST "7,7,4"
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:#define ERI3_MAX_AM_LIST "12,7,5"
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:#define ERI2_MAX_AM_LIST "7,7,5"
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:#define G12_MAX_AM 4
include/libint2/config.h:#define G12_OPT_AM 4
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

REVISED
buildcm/include/libint2/config.h:#define LIBINT_HARD_MAX_AM 12
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 7
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM_LIST "7,7,5"
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 4
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM */
buildcm/include/libint2/config.h:#define ERI_MAX_AM_LIST "7,7,4"
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:#define ERI3_MAX_AM_LIST "12,7,5"
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:#define ERI2_MAX_AM_LIST "7,7,5"
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:#define G12_MAX_AM 4
buildcm/include/libint2/config.h:#define G12_OPT_AM 4
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

stress max-am int (new, so REVISED)

> --with-max-am=2 --with-eri-max-am=2,2 --with-eri3-max-am=3,2 --enable-eri=1 --enable-eri3=1

> -DWITH_MAX_AM="2" -DWITH_ERI_MAX_AM="2;2" -DWITH_ERI3_MAX_AM="3;2" -DENABLE_ERI=1 -DENABLE_ERI3=1
-- setting components multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_dddd_d1;eri_pppp_d1;eri_ssss_d1
-- setting components eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1
-- setting components eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1
-- Library will satisfy ERI AM components: multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=2 LIBINT_MAX_AM_LIST= LIBINT_OPT_AM=2 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 4
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=0 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 2
 * integral class ERI, config.h: INCLUDE_ERI=1 ERI_MAX_AM= ERI_MAX_AM_LIST=2,2 ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 2
 * integral class ERI derivative 1, max_am 2
 * integral class ERI3, config.h: INCLUDE_ERI3=1 ERI3_MAX_AM= ERI3_MAX_AM_LIST=3,2 ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 3
 * integral class ERI3 derivative 1, max_am 2

-- Libint Disabled features:
 * integral class ERI2, config.h: INCLUDE_ERI2=-1 ERI2_MAX_AM= ERI2_MAX_AM_LIST= ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class G12, config.h: INCLUDE_G12=-1 G12_MAX_AM= G12_OPT_AM=
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=
include/libint2/config.h:/* #undef LIBINT_HARD_MAX_AM */
include/libint2/config.h:#define LIBINT_MAX_AM 2
include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
include/libint2/config.h:#define LIBINT_OPT_AM 2
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI_MAX_AM */
include/libint2/config.h:#define ERI_MAX_AM_LIST "2,2"
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:/* #undef G12_MAX_AM */
include/libint2/config.h:/* #undef G12_OPT_AM */
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

buildcm/include/libint2/config.h:#define LIBINT_HARD_MAX_AM 12
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 2
buildcm/include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 2
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM */
buildcm/include/libint2/config.h:#define ERI_MAX_AM_LIST "2,2"
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef G12_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12_OPT_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

stress max-am empty (new, so REVISED)

> --with-eri-max-am=2 --with-eri3-max-am=3,2 --enable-eri=1 --enable-eri3=1

> -DWITH_ERI_MAX_AM=2 -DWITH_ERI3_MAX_AM="3;2" -DENABLE_ERI=1 -DENABLE_ERI3=1
-- setting components multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0
-- setting components onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0
-- setting components eri_dddd_d0;eri_pppp_d0;eri_ssss_d0
-- setting components eri_dddd_d1;eri_pppp_d1;eri_ssss_d1
-- setting components eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0
-- setting components eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1
-- setting components eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1
-- Library will satisfy ERI AM components: multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;multipole_pp_d0;multipole_ss_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_pp_d0;onebody_ss_d0;eri_dddd_d0;eri_pppp_d0;eri_ssss_d0;eri_dddd_d1;eri_pppp_d1;eri_ssss_d1;eri_ffF_d0;eri_ddF_d0;eri_ppF_d0;eri_ssF_d0;eri_ddD_d0;eri_ppD_d0;eri_ssD_d0;eri_ppP_d0;eri_ssP_d0;eri_ssS_d0;eri_ddD_d1;eri_ppD_d1;eri_ssD_d1;eri_ppP_d1;eri_ssP_d1;eri_ssS_d1;eri_fff_d0;eri_ddf_d0;eri_ppf_d0;eri_ssf_d0;eri_ddd_d0;eri_ppd_d0;eri_ssd_d0;eri_ppp_d0;eri_ssp_d0;eri_sss_d0;eri_ddd_d1;eri_ppd_d1;eri_ssd_d1;eri_ppp_d1;eri_ssp_d1;eri_sss_d1

-- Libint Enabled features:
 * general integral, config.h: LIBINT_MAX_AM=4 LIBINT_MAX_AM_LIST= LIBINT_OPT_AM=3 LIBINT_OPT_AM_LIST=
 * integral class MULTIPOLE derivative 0, max_am 4
 * integral class ONEBODY, config.h: INCLUDE_ONEBODY=0 ONEBODY_MAX_AM= ONEBODY_MAX_AM_LIST= ONEBODY_OPT_AM= ONEBODY_OPT_AM_LIST=
 * integral class ONEBODY derivative 0, max_am 4
 * integral class ERI, config.h: INCLUDE_ERI=1 ERI_MAX_AM=2 ERI_MAX_AM_LIST= ERI_OPT_AM= ERI_OPT_AM_LIST=
 * integral class ERI derivative 0, max_am 2
 * integral class ERI derivative 1, max_am 2
 * integral class ERI3, config.h: INCLUDE_ERI3=1 ERI3_MAX_AM= ERI3_MAX_AM_LIST=3,2 ERI3_OPT_AM= ERI3_OPT_AM_LIST=
 * integral class ERI3 derivative 0, max_am 3
 * integral class ERI3 derivative 1, max_am 2

-- Libint Disabled features:
 * integral class ERI2, config.h: INCLUDE_ERI2=-1 ERI2_MAX_AM= ERI2_MAX_AM_LIST= ERI2_OPT_AM= ERI2_OPT_AM_LIST=
 * integral class G12, config.h: INCLUDE_G12=-1 G12_MAX_AM= G12_OPT_AM=
 * integral class G12DKH, config.h: INCLUDE_G12DKH=-1 G12DKH_MAX_AM= G12DKH_OPT_AM=
include/libint2/config.h:/* #undef LIBINT_HARD_MAX_AM */
include/libint2/config.h:#define LIBINT_MAX_AM 4
include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
include/libint2/config.h:#define LIBINT_OPT_AM 3
include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
include/libint2/config.h:#define ERI_MAX_AM 2
include/libint2/config.h:/* #undef ERI_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI_OPT_AM */
include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI3_MAX_AM */
include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
include/libint2/config.h:/* #undef ERI3_OPT_AM */
include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
include/libint2/config.h:/* #undef ERI2_MAX_AM */
include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
include/libint2/config.h:/* #undef ERI2_OPT_AM */
include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
include/libint2/config.h:/* #undef G12_MAX_AM */
include/libint2/config.h:/* #undef G12_OPT_AM */
include/libint2/config.h:/* #undef G12DKH_MAX_AM */
include/libint2/config.h:/* #undef G12DKH_OPT_AM */

buildcm/include/libint2/config.h:#define LIBINT_HARD_MAX_AM 12
buildcm/include/libint2/config.h:#define LIBINT_MAX_AM 4
buildcm/include/libint2/config.h:/* #undef LIBINT_MAX_AM_LIST */
buildcm/include/libint2/config.h:#define LIBINT_OPT_AM 3
buildcm/include/libint2/config.h:/* #undef LIBINT_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ONEBODY_OPT_AM_LIST */
buildcm/include/libint2/config.h:#define ERI_MAX_AM 2
buildcm/include/libint2/config.h:/* #undef ERI_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI3_MAX_AM */
buildcm/include/libint2/config.h:#define ERI3_MAX_AM_LIST "3,2"
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI3_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_MAX_AM_LIST */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM */
buildcm/include/libint2/config.h:/* #undef ERI2_OPT_AM_LIST */
buildcm/include/libint2/config.h:/* #undef G12_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12_OPT_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_MAX_AM */
buildcm/include/libint2/config.h:/* #undef G12DKH_OPT_AM */

@loriab loriab marked this pull request as ready for review December 20, 2023 16:22
@loriab
Copy link
Collaborator Author

loriab commented May 18, 2024

@evaleev , I've got all the PR frontmatter examples revised, so I think this is ready for consideration. If you'd like any more configurations run to compare libtool and cmake, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants