jbsrc/lib/src/core/jb-install-options.h (2039B) - raw
1 /*
2 * JB, the Jean-Yves Lefort's Build System
3 * Copyright (C) 2008 Jean-Yves Lefort <jylefort@brutele.be>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #ifndef _JB_INSTALL_OPTIONS_H
21 #define _JB_INSTALL_OPTIONS_H
22
23 #include <sys/types.h>
24 #include <sys/stat.h>
25
26 typedef struct
27 {
28 char *installdir;
29 char *owner;
30 char *group;
31 mode_t extra_mode;
32 } JBInstallOptions;
33
34 JBInstallOptions *jb_install_options_new (void);
35
36 void jb_install_options_set_installdir (JBInstallOptions *self,
37 const char *installdir);
38 void jb_install_options_set_owner (JBInstallOptions *self, const char *owner);
39 void jb_install_options_set_group (JBInstallOptions *self, const char *group);
40 void jb_install_options_set_extra_mode (JBInstallOptions *self, mode_t extra_mode);
41
42 void jb_install_options_install (JBInstallOptions *self,
43 const char *srcfile,
44 const char *dstfile,
45 const char *default_owner,
46 const char *default_group,
47 mode_t default_mode);
48 void jb_install_options_install_data (JBInstallOptions *self,
49 const char *srcfile,
50 const char *dstfile);
51 void jb_install_options_install_program (JBInstallOptions *self,
52 const char *srcfile,
53 const char *dstfile);
54 void jb_install_options_install_library (JBInstallOptions *self,
55 const char *srcfile,
56 const char *dstfile);
57
58 #endif /* _JB_INSTALL_OPTIONS_H */