let set_options = function
    |Url.Deb ->
      let host =
        if Opt.is_set deb_host_arch then
          Opt.get deb_host_arch
        else ""
      in
      let build =
        if Opt.is_set deb_build_arch then
          Opt.get deb_build_arch
        else ""
      in
      let native =
        if Opt.is_set deb_native_arch then
          Opt.get deb_native_arch
        else ""
      in

      let archs =
        let l = Opt.get deb_foreign_arch in
        let l = if host <> "" then host::l else l in
        let l = if build <> "" then build::l else l in
        let l = if native <> "" then native::l else l in
        l
      in

      Some (
        Deb {
          Debian.Debcudf.default_options with
          Debian.Debcudf.foreign = archs;
          host = host;
          build = build;
          native = native;
          ignore_essential = Opt.get deb_ignore_essential
        }
      )
    |Url.Synthesis -> None
    |Url.Hdlist -> None
    |(Url.Pgsql|Url.Sqlite-> None
    |Url.Eclipse -> Some (Eclipse Debian.Debcudf.default_options)
    |Url.Cudf -> None
    |Url.Csw -> None