381 static bool initialized =
false;
385 std::map<std::string, octave_value> conf_info_map
386 = {{
"DEFAULT_PAGER", config::default_pager () },
388#if defined (OCTAVE_ENABLE_64)
389 {
"ENABLE_64",
true },
391 {
"ENABLE_64",
false },
394#if defined (OCTAVE_ENABLE_COMMAND_LINE_PUSH_PARSER)
395 {
"ENABLE_COMMAND_LINE_PUSH_PARSER",
true },
397 {
"ENABLE_COMMAND_LINE_PUSH_PARSER",
false },
400#if defined (ENABLE_DOCS)
401 {
"ENABLE_DOCS",
true },
403 {
"ENABLE_DOCS",
false },
406#if defined (OCTAVE_ENABLE_OPENMP)
407 {
"ENABLE_OPENMP",
true },
409 {
"ENABLE_OPENMP",
false },
412 {
"api_version", OCTAVE_API_VERSION },
413 {
"archlibdir", config::arch_lib_dir () },
414 {
"bindir", config::bin_dir () },
415 {
"canonical_host_type", config::canonical_host_type () },
416 {
"datadir", config::data_dir () },
417 {
"datarootdir", config::dataroot_dir () },
418 {
"fcnfiledir", config::fcn_file_dir () },
421 {
"imagedir", config::image_dir () },
422 {
"includedir", config::include_dir () },
423 {
"infodir", config::info_dir () },
424 {
"libdir", config::lib_dir () },
425 {
"libexecdir", config::libexec_dir () },
430 {
"localapiarchlibdir", config::local_api_arch_lib_dir () },
431 {
"localapifcnfiledir", config::local_api_fcn_file_dir () },
432 {
"localapioctfiledir", config::local_api_oct_file_dir () },
433 {
"localapipkgdir", config::local_api_pkg_dir () },
434 {
"localarchlibdir", config::local_arch_lib_dir () },
435 {
"localfcnfiledir", config::local_fcn_file_dir () },
436 {
"localoctfiledir", config::local_oct_file_dir () },
437 {
"localstartupfiledir", config::local_startupfile_dir () },
438 {
"localverarchlibdir", config::local_ver_arch_lib_dir () },
439 {
"localverfcnfiledir", config::local_ver_fcn_file_dir () },
440 {
"localveroctfiledir", config::local_ver_oct_file_dir () },
441 {
"major_version",
STRINGIFY (OCTAVE_MAJOR_VERSION) },
442 {
"man1dir", config::man1_dir () },
443 {
"man1ext", config::man1_ext () },
444 {
"mandir", config::man_dir () },
445 {
"minor_version",
STRINGIFY (OCTAVE_MINOR_VERSION) },
446 {
"octdatadir", config::oct_data_dir () },
447 {
"octdocdir", config::oct_doc_dir () },
448 {
"octetcdir", config::oct_etc_dir () },
449 {
"octfiledir", config::oct_file_dir () },
450 {
"octfontsdir", config::oct_fonts_dir () },
451 {
"octincludedir", config::oct_include_dir () },
452 {
"octlibdir", config::oct_lib_dir () },
453 {
"octtestsdir", config::oct_tests_dir () },
454 {
"patch_version",
STRINGIFY (OCTAVE_PATCH_VERSION) },
455 {
"release_date", OCTAVE_RELEASE_DATE },
456 {
"startupfiledir", config::startupfile_dir () },
460 std::map<std::string, octave_value> build_env_map
461 = {{
"AMD_CPPFLAGS", build_env::AMD_CPPFLAGS },
462 {
"AMD_LDFLAGS", build_env::AMD_LDFLAGS },
463 {
"AMD_LIBS", build_env::AMD_LIBS },
464 {
"AR", build_env::AR },
465 {
"ARFLAGS", build_env::ARFLAGS },
466 {
"ARPACK_CPPFLAGS", build_env::ARPACK_CPPFLAGS },
467 {
"ARPACK_LDFLAGS", build_env::ARPACK_LDFLAGS },
468 {
"ARPACK_LIBS", build_env::ARPACK_LIBS },
469 {
"BLAS_LIBS", build_env::BLAS_LIBS },
470 {
"CAMD_CPPFLAGS", build_env::CAMD_CPPFLAGS },
471 {
"CAMD_LDFLAGS", build_env::CAMD_LDFLAGS },
472 {
"CAMD_LIBS", build_env::CAMD_LIBS },
473 {
"CARBON_LIBS", build_env::CARBON_LIBS },
474 {
"CC", build_env::CC },
475 {
"CCOLAMD_CPPFLAGS", build_env::CCOLAMD_CPPFLAGS },
476 {
"CCOLAMD_LDFLAGS", build_env::CCOLAMD_LDFLAGS },
477 {
"CCOLAMD_LIBS", build_env::CCOLAMD_LIBS },
478 {
"CFLAGS", build_env::CFLAGS },
479 {
"CHOLMOD_CPPFLAGS", build_env::CHOLMOD_CPPFLAGS },
480 {
"CHOLMOD_LDFLAGS", build_env::CHOLMOD_LDFLAGS },
481 {
"CHOLMOD_LIBS", build_env::CHOLMOD_LIBS },
482 {
"COLAMD_CPPFLAGS", build_env::COLAMD_CPPFLAGS },
483 {
"COLAMD_LDFLAGS", build_env::COLAMD_LDFLAGS },
484 {
"COLAMD_LIBS", build_env::COLAMD_LIBS },
485 {
"CPICFLAG", build_env::CPICFLAG },
486 {
"CPPFLAGS", build_env::CPPFLAGS },
487 {
"CURL_CPPFLAGS", build_env::CURL_CPPFLAGS },
488 {
"CURL_LDFLAGS", build_env::CURL_LDFLAGS },
489 {
"CURL_LIBS", build_env::CURL_LIBS },
490 {
"CXSPARSE_CPPFLAGS", build_env::CXSPARSE_CPPFLAGS },
491 {
"CXSPARSE_LDFLAGS", build_env::CXSPARSE_LDFLAGS },
492 {
"CXSPARSE_LIBS", build_env::CXSPARSE_LIBS },
493 {
"CXX", build_env::CXX },
494 {
"CXXCPP", build_env::CXXCPP },
495 {
"CXXFLAGS", build_env::CXXFLAGS },
496 {
"CXXPICFLAG", build_env::CXXPICFLAG },
497 {
"DEFS", build_env::DEFS },
498 {
"DL_LDFLAGS", build_env::DL_LDFLAGS },
499 {
"GCC_VERSION", build_env::GCC_VERSION },
500 {
"GXX_VERSION", build_env::GXX_VERSION },
501 {
"EXEEXT", build_env::EXEEXT },
502 {
"F77", build_env::F77 },
503 {
"F77_FLOAT_STORE_FLAG", build_env::F77_FLOAT_STORE_FLAG },
504 {
"F77_INTEGER_8_FLAG", build_env::F77_INTEGER_8_FLAG },
505 {
"FFLAGS", build_env::FFLAGS },
506 {
"FFTW3_CPPFLAGS", build_env::FFTW3_CPPFLAGS },
507 {
"FFTW3_LDFLAGS", build_env::FFTW3_LDFLAGS },
508 {
"FFTW3_LIBS", build_env::FFTW3_LIBS },
509 {
"FFTW3F_CPPFLAGS", build_env::FFTW3F_CPPFLAGS },
510 {
"FFTW3F_LDFLAGS", build_env::FFTW3F_LDFLAGS },
511 {
"FFTW3F_LIBS", build_env::FFTW3F_LIBS },
512 {
"FLIBS", build_env::FLIBS },
513 {
"FLTK_CPPFLAGS", build_env::FLTK_CPPFLAGS },
514 {
"FLTK_LDFLAGS", build_env::FLTK_LDFLAGS },
515 {
"FLTK_LIBS", build_env::FLTK_LIBS },
516 {
"FONTCONFIG_CPPFLAGS", build_env::FONTCONFIG_CPPFLAGS },
517 {
"FONTCONFIG_LIBS", build_env::FONTCONFIG_LIBS },
518 {
"FPICFLAG", build_env::FPICFLAG },
519 {
"FT2_CPPFLAGS", build_env::FT2_CPPFLAGS },
520 {
"FT2_LIBS", build_env::FT2_LIBS },
521 {
"GLPK_CPPFLAGS", build_env::GLPK_CPPFLAGS },
522 {
"GLPK_LDFLAGS", build_env::GLPK_LDFLAGS },
523 {
"GLPK_LIBS", build_env::GLPK_LIBS },
524 {
"GNUPLOT", build_env::GNUPLOT },
525 {
"HDF5_CPPFLAGS", build_env::HDF5_CPPFLAGS },
526 {
"HDF5_LDFLAGS", build_env::HDF5_LDFLAGS },
527 {
"HDF5_LIBS", build_env::HDF5_LIBS },
528 {
"LAPACK_LIBS", build_env::LAPACK_LIBS },
529 {
"LDFLAGS", build_env::LDFLAGS },
530 {
"LD_STATIC_FLAG", build_env::LD_STATIC_FLAG },
531 {
"LEX", build_env::LEX },
532 {
"LEXLIB", build_env::LEXLIB },
533 {
"LFLAGS", build_env::LFLAGS },
534 {
"LIBOCTAVE", build_env::LIBOCTAVE },
535 {
"LIBOCTINTERP", build_env::LIBOCTINTERP },
536 {
"LIBS", build_env::LIBS },
537 {
"LN_S", build_env::LN_S },
538 {
"MAGICK_CPPFLAGS", build_env::MAGICK_CPPFLAGS },
539 {
"MAGICK_LDFLAGS", build_env::MAGICK_LDFLAGS },
540 {
"MAGICK_LIBS", build_env::MAGICK_LIBS },
541 {
"MKOCTFILE_DL_LDFLAGS", build_env::MKOCTFILE_DL_LDFLAGS },
542 {
"OCTAVE_LINK_DEPS", build_env::OCTAVE_LINK_DEPS },
543 {
"OCTAVE_LINK_OPTS", build_env::OCTAVE_LINK_OPTS },
544 {
"OCT_LINK_DEPS", build_env::OCT_LINK_DEPS },
545 {
"OCT_LINK_OPTS", build_env::OCT_LINK_OPTS },
546 {
"OPENGL_LIBS", build_env::OPENGL_LIBS },
547 {
"PCRE_CPPFLAGS", build_env::PCRE_CPPFLAGS },
548 {
"PCRE_LDFLAGS", build_env::PCRE_LDFLAGS },
549 {
"PCRE_LIBS", build_env::PCRE_LIBS },
550 {
"PTHREAD_CFLAGS", build_env::PTHREAD_CFLAGS },
551 {
"PTHREAD_LIBS", build_env::PTHREAD_LIBS },
552 {
"QHULL_CPPFLAGS", build_env::QHULL_CPPFLAGS },
553 {
"QHULL_LDFLAGS", build_env::QHULL_LDFLAGS },
554 {
"QHULL_LIBS", build_env::QHULL_LIBS },
555 {
"QRUPDATE_CPPFLAGS", build_env::QRUPDATE_CPPFLAGS },
556 {
"QRUPDATE_LDFLAGS", build_env::QRUPDATE_LDFLAGS },
557 {
"QRUPDATE_LIBS", build_env::QRUPDATE_LIBS },
558 {
"QT_CPPFLAGS", build_env::QT_CPPFLAGS },
559 {
"QT_LDFLAGS", build_env::QT_LDFLAGS },
560 {
"QT_LIBS", build_env::QT_LIBS },
561 {
"RANLIB", build_env::RANLIB },
562 {
"RDYNAMIC_FLAG", build_env::RDYNAMIC_FLAG },
563 {
"READLINE_LIBS", build_env::READLINE_LIBS },
564 {
"SHARED_LIBS", build_env::SHARED_LIBS },
565 {
"SH_LDFLAGS", build_env::SH_LDFLAGS },
566 {
"STATIC_LIBS", build_env::STATIC_LIBS },
567 {
"SUITESPARSECONFIG_LIBS", build_env::SUITESPARSECONFIG_LIBS },
568 {
"UMFPACK_CPPFLAGS", build_env::UMFPACK_CPPFLAGS },
569 {
"UMFPACK_LDFLAGS", build_env::UMFPACK_LDFLAGS },
570 {
"UMFPACK_LIBS", build_env::UMFPACK_LIBS },
571 {
"WARN_CFLAGS", build_env::WARN_CFLAGS },
572 {
"WARN_CXXFLAGS", build_env::WARN_CXXFLAGS },
573 {
"X11_INCFLAGS", build_env::X11_INCFLAGS },
574 {
"X11_LIBS", build_env::X11_LIBS },
575 {
"XTRA_CFLAGS", build_env::XTRA_CFLAGS },
576 {
"XTRA_CXXFLAGS", build_env::XTRA_CXXFLAGS },
577 {
"YACC", build_env::YACC },
578 {
"YFLAGS", build_env::YFLAGS },
579 {
"Z_CPPFLAGS", build_env::Z_CPPFLAGS },
580 {
"Z_LDFLAGS", build_env::Z_LDFLAGS },
581 {
"Z_LIBS", build_env::Z_LIBS },
582 {
"config_opts", build_env::config_opts }
587 build_features = build_env::features ();
589 bool unix_system =
true;
590 bool mac_system =
false;
591 bool windows_system =
false;
593#if defined (__WIN32__)
594 windows_system =
true;
595#if ! defined (__CYGWIN__)
600#if defined (OCTAVE_USE_OS_X_API)
608 mach_info::float_format ff = mach_info::native_float_format ();
609 config.
assign (
"float_format",
612 config.
assign (
"words_big_endian",
615 config.
assign (
"words_little_endian",
618 config.
assign (
"nan_with_payload",
628 int nargin = args.length ();
637 std::string arg = args(0).xstring_value (
"__octave_config_info__: OPTION argument must be a string");
642 info = find_config_info (build_env, arg);
645 info = find_config_info (build_features, arg);
648 error (
"__octave_config_info__: no info for '%s'", arg.c_str ());
653 retval =
ovl (config);