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