## Modulemd.Buildopts Modulemd.Buildopts — Provides hints to the build-system on how to build this module. |

## Stability Level

Stable, unless otherwise indicated

## Functions

ModulemdBuildopts * | modulemd_buildopts_new ()
gboolean | modulemd_buildopts_equals ()
ModulemdBuildopts * | modulemd_buildopts_copy ()
void | modulemd_buildopts_set_rpm_macros ()
const gchar * | modulemd_buildopts_get_rpm_macros ()
void | modulemd_buildopts_add_rpm_to_whitelist ()
void | modulemd_buildopts_remove_rpm_from_whitelist ()
void | modulemd_buildopts_clear_rpm_whitelist ()
GStrv | modulemd_buildopts_get_rpm_whitelist_as_strv ()
void | modulemd_buildopts_add_arch ()
void | modulemd_buildopts_remove_arch ()
void | modulemd_buildopts_clear_arches ()
GStrv | modulemd_buildopts_get_arches_as_strv ()

## Properties

char * | rpm-macros | Read / Write

## Types and Values

#define | MODULEMD_TYPE_BUILDOPTS
| ModulemdBuildopts

## Object Hierarchy

        GObject
        ╰── ModulemdBuildopts

## Description

## Functions

### modulemd_buildopts_new ()

    ModulemdBuildopts *
    modulemd_buildopts_new (void);

#### Returns

A newly-allocated ModulemdBuildopts object. This object must be freed with `g_object_unref()`.

[transfer full]

Since: 2.0

### modulemd_buildopts_equals ()

    gboolean
    modulemd_buildopts_equals (ModulemdBuildopts *self_1,
                               ModulemdBuildopts *self_2);

Check for equality for two ModulemdBuildopts objects.

#### Parameters

self_1 | A ModulemdBuildopts object. |
self_2 | A ModulemdBuildopts object. |

#### Returns

TRUE if both objects are equal, FALSE otherwise.

Since: 2.2

### modulemd_buildopts_copy ()

    ModulemdBuildopts *
    modulemd_buildopts_copy (ModulemdBuildopts *self);

Create a copy of this ModulemdBuildopts object.

#### Parameters

self | This ModulemdBuildopts object. |

#### Returns

A newly-allocated ModulemdBuildopts object that is a copy of `self` .

[transfer full]

Since: 2.0

### modulemd_buildopts_set_rpm_macros ()

    void
    modulemd_buildopts_set_rpm_macros (ModulemdBuildopts *self,
                                       const gchar *rpm_macros);

#### Parameters

self | This ModulemdBuildopts object. |
rpm_macros | A string containing RPM build macros in the form that they would appear in an RPM macros file on-disk. |

Since: 2.0

### modulemd_buildopts_get_rpm_macros ()

    const gchar *
    modulemd_buildopts_get_rpm_macros (ModulemdBuildopts *self);

#### Parameters

self | This ModulemdBuildopts object. |

#### Returns

A string containing RPM build macros in the form that they would appear in an RPM macros file on-disk.

[transfer none]

Since: 2.0

### modulemd_buildopts_add_rpm_to_whitelist ()

    void
    modulemd_buildopts_add_rpm_to_whitelist
                                   (ModulemdBuildopts *self,
                                    const gchar *rpm);

#### Parameters

self | This ModulemdBuildopts object. |
rpm | An RPM name to add to the whitelist. |

Since: 2.0

### modulemd_buildopts_remove_rpm_from_whitelist ()

    void
    modulemd_buildopts_remove_rpm_from_whitelist
                                   (ModulemdBuildopts *self,
                                    const gchar *rpm);

#### Parameters

self | This ModulemdBuildopts object. |
rpm | An RPM name to remove from the whitelist. |

Since: 2.0

### modulemd_buildopts_clear_rpm_whitelist ()

    void
    modulemd_buildopts_clear_rpm_whitelist
                                   (ModulemdBuildopts *self);

Remove all RPMs from the whitelist.

#### Parameters

self | This ModulemdBuildopts object. |

Since: 2.5

### modulemd_buildopts_get_rpm_whitelist_as_strv ()

    GStrv
    modulemd_buildopts_get_rpm_whitelist_as_strv
                                   (ModulemdBuildopts *self);

[rename-to modulemd_buildopts_get_rpm_whitelist]

#### Parameters

self | This ModulemdBuildopts object. |

#### Returns

An ordered GStrv list of all RPMs in the whitelist.

[transfer full]

Since: 2.0

### modulemd_buildopts_add_arch ()

    void
    modulemd_buildopts_add_arch (ModulemdBuildopts *self,
                                 const gchar *arch);

Restrict the list of architectures for which to build this module. It may be called any number of times to indicate support on additional architectures. Use `modulemd_buildopts_clear_arches()` to return to "all architectures".

#### Parameters

self | This ModulemdBuildopts object. |
arch | An architecture for which to build this module. |

Since: 2.9

### modulemd_buildopts_remove_arch ()

    void
    modulemd_buildopts_remove_arch (ModulemdBuildopts *self,
                                    const gchar *arch);

#### Parameters

self | This ModulemdBuildopts object. |
arch | An architecture to remove from the list of architectures for which to build this module. |

Since: 2.9

### modulemd_buildopts_clear_arches ()

    void
    modulemd_buildopts_clear_arches (ModulemdBuildopts *self);

Indicate that this module should be built for all architectures.

#### Parameters

self | This ModulemdBuildopts object. |

Since: 2.9

### modulemd_buildopts_get_arches_as_strv ()

    GStrv
    modulemd_buildopts_get_arches_as_strv (ModulemdBuildopts *self);

[rename-to modulemd_buildopts_get_arches]

#### Parameters

self | This ModulemdBuildopts object. |

#### Returns

A GStrv list of architectures for which this module should be built. If empty, this module should be built for all architectures.

[transfer full]

Since: 2.9

## Types and Values

### MODULEMD_TYPE_BUILDOPTS

    #define MODULEMD_TYPE_BUILDOPTS (modulemd_buildopts_get_type ())

### ModulemdBuildopts

    typedef struct _ModulemdBuildopts ModulemdBuildopts;

## Property Details

### The `“rpm-macros”` property

      “rpm-macros”               char *

A string containing RPM build macros in the form that they would appear in an RPM macros file on-disk.

Owner: ModulemdBuildopts

Flags: Read / Write

Default value: "__BUILDOPTS_RPM_MACROS_UNSET__"