Statistics
| Branch: | Tag: | Revision:

root / gnuradio-core / src / lib / gnuradio-config-info.cc @ aae6c1ef

History | View | Annotate | Download (2 kB)

1 3b0db383 jcorgan
/* -*- c++ -*- */
2 3b0db383 jcorgan
/*
3 3b0db383 jcorgan
 * Copyright 2009 Free Software Foundation, Inc.
4 3b0db383 jcorgan
 * 
5 3b0db383 jcorgan
 * This file is part of GNU Radio
6 3b0db383 jcorgan
 * 
7 3b0db383 jcorgan
 * GNU Radio is free software; you can redistribute it and/or modify
8 3b0db383 jcorgan
 * it under the terms of the GNU General Public License as published by
9 3b0db383 jcorgan
 * the Free Software Foundation; either version 3, or (at your option)
10 3b0db383 jcorgan
 * any later version.
11 3b0db383 jcorgan
 * 
12 3b0db383 jcorgan
 * GNU Radio is distributed in the hope that it will be useful,
13 3b0db383 jcorgan
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 3b0db383 jcorgan
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 3b0db383 jcorgan
 * GNU General Public License for more details.
16 3b0db383 jcorgan
 * 
17 3b0db383 jcorgan
 * You should have received a copy of the GNU General Public License
18 3b0db383 jcorgan
 * along with GNU Radio; see the file COPYING.  If not, write to
19 3b0db383 jcorgan
 * the Free Software Foundation, Inc., 51 Franklin Street,
20 3b0db383 jcorgan
 * Boston, MA 02110-1301, USA.
21 3b0db383 jcorgan
 */
22 3b0db383 jcorgan
23 3b0db383 jcorgan
#if HAVE_CONFIG_H
24 3b0db383 jcorgan
#include <config.h>
25 3b0db383 jcorgan
#endif
26 3b0db383 jcorgan
27 3b0db383 jcorgan
#include <gr_constants.h>
28 3b0db383 jcorgan
#include <boost/program_options.hpp>
29 3b0db383 jcorgan
#include <iostream>
30 3b0db383 jcorgan
31 3b0db383 jcorgan
namespace po = boost::program_options;
32 3b0db383 jcorgan
33 3b0db383 jcorgan
int
34 3b0db383 jcorgan
main(int argc, char **argv)
35 3b0db383 jcorgan
{
36 3b0db383 jcorgan
  po::options_description desc("Program options: gnuradio [options]");
37 3b0db383 jcorgan
  po::variables_map vm;
38 3b0db383 jcorgan
39 3b0db383 jcorgan
  desc.add_options()
40 3b0db383 jcorgan
    ("help,h", "print help message")
41 3b0db383 jcorgan
    ("prefix", "print gnuradio installation prefix")
42 3b0db383 jcorgan
    ("sysconfdir", "print gnuradio system configuration directory")
43 3b0db383 jcorgan
    ("prefsdir", "print gnuradio preferences directory")
44 3b0db383 jcorgan
    ("builddate", "print gnuradio build date (RFC2822 format)")
45 3b0db383 jcorgan
    ("version,v", "print gnuradio version")
46 3b0db383 jcorgan
    ;
47 3b0db383 jcorgan
48 3b0db383 jcorgan
  po::store(po::parse_command_line(argc, argv, desc), vm);
49 3b0db383 jcorgan
  po::notify(vm);
50 3b0db383 jcorgan
51 3b0db383 jcorgan
  if (vm.size() == 0 || vm.count("help")) {
52 3b0db383 jcorgan
    std::cout << desc << std::endl;
53 3b0db383 jcorgan
    return 1;
54 3b0db383 jcorgan
  }
55 3b0db383 jcorgan
      
56 3b0db383 jcorgan
  if (vm.count("prefix"))
57 3b0db383 jcorgan
    std::cout << gr_prefix() << std::endl;
58 3b0db383 jcorgan
59 3b0db383 jcorgan
  if (vm.count("sysconfdir"))
60 3b0db383 jcorgan
    std::cout << gr_sysconfdir() << std::endl;
61 3b0db383 jcorgan
62 3b0db383 jcorgan
  if (vm.count("prefsdir"))
63 3b0db383 jcorgan
    std::cout << gr_prefsdir() << std::endl;
64 3b0db383 jcorgan
65 3b0db383 jcorgan
  if (vm.count("builddate"))
66 3b0db383 jcorgan
    std::cout << gr_build_date() << std::endl;
67 3b0db383 jcorgan
68 3b0db383 jcorgan
  if (vm.count("version"))
69 3b0db383 jcorgan
    std::cout << gr_version() << std::endl;
70 3b0db383 jcorgan
71 3b0db383 jcorgan
  return 0;
72 3b0db383 jcorgan
}